<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Catel.Core</name>
    </assembly>
    <members>
        <member name="T:Catel.MVVM.Services.ISaveFileService">
            <summary>
            Interface for the Save File service.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.IFileSupport">
            <summary>
            Interface that supports file handling.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.IFileSupport.DetermineFile">
            <summary>
            Determines the filename of the file what will be used.
            </summary>
            <returns><c>true</c> if a file is selected; otherwise <c>false</c>.</returns>
            <remarks>
            If this method returns <c>true</c>, the <see cref="P:Catel.MVVM.Services.IFileSupport.FileName"/> property will be filled with the filename. Otherwise,
            no changes will occur to the data of this object.
            </remarks>
        </member>
        <member name="P:Catel.MVVM.Services.IFileSupport.FileName">
            <summary>
            Gets or sets the name of the file.
            </summary>
            <value>The name of the file.</value>
        </member>
        <member name="P:Catel.MVVM.Services.IFileSupport.InitialDirectory">
            <summary>
            Gets or sets the initial directory.
            </summary>
            <value>The initial directory.</value>
        </member>
        <member name="P:Catel.MVVM.Services.IFileSupport.Filter">
            <summary>
            Gets or sets the filter to use when opening or saving the file.
            </summary>
            <value>The filter.</value>
        </member>
        <member name="T:Catel.Logging.ILogListener">
            <summary>
            Interface allowing external subscribers for the logging.
            </summary>
        </member>
        <member name="M:Catel.Logging.ILogListener.Write(Catel.Logging.ILog,System.String,Catel.Logging.LogEvent)">
            <summary>
            Called when any message is written to the log.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
            <param name="logEvent">The log event.</param>
        </member>
        <member name="M:Catel.Logging.ILogListener.Debug(Catel.Logging.ILog,System.String)">
            <summary>
            Called when a <see cref="F:Catel.Logging.LogEvent.Debug"/> message is written to the log.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILogListener.Info(Catel.Logging.ILog,System.String)">
            <summary>
            Called when a <see cref="F:Catel.Logging.LogEvent.Info"/> message is written to the log.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILogListener.Warning(Catel.Logging.ILog,System.String)">
            <summary>
            Called when a <see cref="F:Catel.Logging.LogEvent.Warning"/> message is written to the log.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILogListener.Error(Catel.Logging.ILog,System.String)">
            <summary>
            Called when a <see cref="F:Catel.Logging.LogEvent.Error"/> message is written to the log.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
        </member>
        <member name="T:Catel.NotSupportedInSilverlightException">
            <summary>
            Exception in case the functionality is not supported in Silverlight.
            <para />
            Unfortunately, Silverlight misses a lot of functionality. When a feature is not supported in Catel, 
            this is because the .NET Framework (or actually Silverlight) does not allow the code to handle 
            that specific feature.
            </summary>
        </member>
        <member name="M:Catel.NotSupportedInSilverlightException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.NotSupportedInSilverlightException"/> class.
            </summary>
        </member>
        <member name="M:Catel.NotSupportedInSilverlightException.#ctor(System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.NotSupportedInSilverlightException"/> class.
            </summary>
            <param name="reasonFormat">The reason format.</param>
            <param name="args">The args.</param>
        </member>
        <member name="M:Catel.NotSupportedInSilverlightException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.NotSupportedInSilverlightException"/> class.
            </summary>
            <param name="reason">The reason why the feature is missing.</param>
        </member>
        <member name="P:Catel.NotSupportedInSilverlightException.Reason">
            <summary>
            Get the reason why the feature is not supported.
            </summary>
            <value>The reason why the feature is missing.</value>
        </member>
        <member name="T:Catel.Data.ObservableObject">
            <summary>
            Very basic class implementing the <see cref="T:System.ComponentModel.INotifyPropertyChanging"/> and <see cref="T:System.ComponentModel.INotifyPropertyChanged"/> interfaces.
            </summary>
        </member>
        <member name="F:Catel.Data.ObservableObject.Log">
            <summary>
            The <see cref="T:Catel.Logging.ILog">log</see> object.
            </summary>
        </member>
        <member name="M:Catel.Data.ObservableObject.RaisePropertyChanging``1(System.Linq.Expressions.Expression{System.Func{``0}})">
            <summary>
            Raises the <see cref="E:Catel.Data.ObservableObject.PropertyChanging"/> event.
            </summary>
            <typeparam name="TProperty">The type of the object holding the property.</typeparam>
            <param name="propertyExpression">The property expression.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyExpression"/> is <c>null</c>.</exception>
            <example>
            <![CDATA[
                RaisePropertyChanging(() => IsDirty);
            ]]>
            </example>
        </member>
        <member name="M:Catel.Data.ObservableObject.RaisePropertyChanging(System.String)">
            <summary>
            Raises the <see cref="E:Catel.Data.ObservableObject.PropertyChanging"/> event.
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:Catel.Data.ObservableObject.RaisePropertyChanging(System.Object,System.String)">
            <summary>
            Raises the <see cref="E:Catel.Data.ObservableObject.PropertyChanging"/> event.
            </summary>
            <param name="sender">The sender.</param>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:Catel.Data.ObservableObject.RaisePropertyChanging(System.Object,System.ComponentModel.PropertyChangingEventArgs)">
            <summary>
            Raises the <see cref="E:Catel.Data.ObservableObject.PropertyChanging"/> event.
            <para/>
            This is the one and only method that actually raises the <see cref="E:Catel.Data.ObservableObject.PropertyChanging"/> event. All other
            methods are (and should be) just overloads that eventually call this method.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangingEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.Data.ObservableObject.OnPropertyChanging(System.ComponentModel.PropertyChangingEventArgs)">
            <summary>
            Called when the <see cref="E:Catel.Data.ObservableObject.PropertyChanging"/> event occurs.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangingEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.Data.ObservableObject.RaisePropertyChanged``1(System.Linq.Expressions.Expression{System.Func{``0}})">
            <summary>
            Raises the <see cref="E:Catel.Data.ObservableObject.PropertyChanged"/> event.
            </summary>
            <typeparam name="TProperty">The type of the object holding the property.</typeparam>
            <param name="propertyExpression">The property expression.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyExpression"/> is <c>null</c>.</exception>
            <example>
            <![CDATA[
                RaisePropertyChanged(() => IsDirty);
            ]]>
            </example>
        </member>
        <member name="M:Catel.Data.ObservableObject.RaisePropertyChanged(System.String)">
            <summary>
            Raises the <see cref="E:Catel.Data.ObservableObject.PropertyChanged"/> event.
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:Catel.Data.ObservableObject.RaisePropertyChanged(System.Object,System.String)">
            <summary>
            Raises the <see cref="E:Catel.Data.ObservableObject.PropertyChanged"/> event.
            </summary>
            <param name="sender">The sender.</param>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:Catel.Data.ObservableObject.RaisePropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Raises the <see cref="E:Catel.Data.ObservableObject.PropertyChanged"/> event.
            <para/>
            This is the one and only method that actually raises the <see cref="E:Catel.Data.ObservableObject.PropertyChanged"/> event. All other
            methods are (and should be) just overloads that eventually call this method.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.Data.ObservableObject.OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when the <see cref="E:Catel.Data.ObservableObject.PropertyChanged"/> event occurs.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="E:Catel.Data.ObservableObject.PropertyChanging">
            <summary>
            Occurs when a property of this object is changing.
            </summary>
        </member>
        <member name="E:Catel.Data.ObservableObject.PropertyChanged">
            <summary>
            Occurs when a property of this object has changed.
            </summary>
        </member>
        <member name="T:Catel.Data.IDataObjectBase">
            <summary>
            IDataObjectBase that the <see cref="T:Catel.Data.DataObjectBase`1"/> must implement to easily pass objects to methods as non-generic.
            </summary>
            <remarks>
            This interface defines all the non-generic interfaces that the <see cref="T:Catel.Data.DataObjectBase`1"/> class implements.
            </remarks>
        </member>
        <member name="T:Catel.Data.IParent">
            <summary>
            Interface that should be implemented by all objects that can have a parent.
            </summary>
        </member>
        <member name="P:Catel.Data.IParent.Parent">
            <summary>
            Gets the parent.
            </summary>
            <value>The parent.</value>
        </member>
        <member name="T:System.ComponentModel.INotifyDataErrorInfo">
            <summary>
            WPF implementation of the INotifyDataErrorInfo as it is known in Silverlight.
            </summary>
        </member>
        <member name="M:System.ComponentModel.INotifyDataErrorInfo.GetErrors(System.String)">
            <summary>
            Gets the errors for the specific property name.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <returns><see cref="T:System.Collections.IEnumerable"/> of errors.</returns>
        </member>
        <member name="P:System.ComponentModel.INotifyDataErrorInfo.HasErrors">
            <summary>
            Gets a value indicating whether this object contains any field or business errors.
            </summary>
            <value>
            	<c>true</c> if this instance has errors; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="E:System.ComponentModel.INotifyDataErrorInfo.ErrorsChanged">
            <summary>
            Occurs when the errors have changed.
            </summary>
        </member>
        <member name="T:System.ComponentModel.INotifyDataWarningInfo">
            <summary>
            Interface that is based on the <see cref="T:System.ComponentModel.INotifyDataErrorInfo"/> interface, but supports warnings instead of errors.
            </summary>
        </member>
        <member name="M:System.ComponentModel.INotifyDataWarningInfo.GetWarnings(System.String)">
            <summary>
            Gets the warnings for the specific property name.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <returns><see cref="T:System.Collections.IEnumerable"/> of warnings.</returns>
        </member>
        <member name="P:System.ComponentModel.INotifyDataWarningInfo.HasWarnings">
            <summary>
            Gets a value indicating whether this object contains any field or business warnings.
            </summary>
            <value>
            	<c>true</c> if this instance has warnings; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="E:System.ComponentModel.INotifyDataWarningInfo.WarningsChanged">
            <summary>
            Occurs when the warnings have changed.
            </summary>
        </member>
        <member name="T:System.ComponentModel.IDataWarningInfo">
            <summary>
            Interface that is based on the <see cref="T:System.ComponentModel.IDataErrorInfo"/> interface, but supports warnings instead of errors.
            </summary>
        </member>
        <member name="P:System.ComponentModel.IDataWarningInfo.Warning">
            <summary>
            Gets the warning.
            </summary>
            <value>
            A warning message indicating what is possibly wrong with this object. The default is
            an empty string ("").
            </value>
        </member>
        <member name="P:System.ComponentModel.IDataWarningInfo.Item(System.String)">
            <summary>
            Gets the warning message for the property with the given name.
            </summary>
            <value></value>
            <param name="columnName">The name of the property whose warning message to get.</param>
        </member>
        <member name="M:Catel.Data.IDataObjectBase.GetDefaultValue(System.String)">
            <summary>
            Returns the default value of a specific property.
            </summary>
            <param name="name">Name of the property.</param>
            <returns>Default value of the property.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">Thrown when the property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.IDataObjectBase.GetDefaultValue(Catel.Data.PropertyData)">
            <summary>
            Returns the default value of a specific property.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <returns>Default value of the property.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">Thrown when the property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.IDataObjectBase.GetPropertyType(System.String)">
            <summary>
            Returns the type of a specific property.
            </summary>
            <param name="name">Name of the property.</param>
            <returns>Type of the property.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">Thrown when the property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.IDataObjectBase.GetPropertyType(Catel.Data.PropertyData)">
            <summary>
            Returns the type of a specific property.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <returns>Type of the property.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">Thrown when the property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.IDataObjectBase.Validate">
            <summary>
            Validates the current object for field and business rule errors.
            </summary>
            <remarks>
            To check wether this object contains any errors, use the <see cref="P:System.ComponentModel.INotifyDataErrorInfo.HasErrors"/> property.
            <para/>
            This method does not force validation. This means that when the object is already validated,
            and no properties have been changed, no validation actually occurs since there is no reason
            for any values to have changed.
            </remarks>
        </member>
        <member name="M:Catel.Data.IDataObjectBase.Validate(System.Boolean)">
            <summary>
            Validates the current object for field and business rule errors.
            </summary>
            <param name="force">if set to <c>true</c>, a validation is forced.</param>
            <remarks>
            To check wether this object contains any errors, use the <see cref="P:System.ComponentModel.INotifyDataErrorInfo.HasErrors"/> property.
            </remarks>
        </member>
        <member name="P:Catel.Data.IDataObjectBase.KeyName">
            <summary>
            Gets the name of the object. By default, this is the name of the inherited class.
            </summary>
            <value>The name of the key.</value>
        </member>
        <member name="P:Catel.Data.IDataObjectBase.IsDirty">
            <summary>
            Gets a value indicating whether this object is dirty.
            </summary>
            <value><c>true</c> if this object is dirty; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:Catel.Data.IDataObjectBase`1">
            <summary>
            IDataObjectBase that the <see cref="T:Catel.Data.DataObjectBase`1"/> must implement to easily mock objects.
            </summary>
            <typeparam name="TDataObject">Type that the class should hold (same as the defined type).</typeparam>
            <remarks>
            This interface defines all the generic interfaces that the <see cref="T:Catel.Data.DataObjectBase`1"/> class implements.
            </remarks>
        </member>
        <member name="M:Catel.Data.IDataObjectBase`1.GetDefaultValue``1(System.String)">
            <summary>
            Returns the typed default value of a specific property.
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="name">Name of the property.</param>
            <returns>Default value of the property.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">Thrown when the property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.IDataObjectBase`1.GetDefaultValue``1(Catel.Data.PropertyData)">
            <summary>
            Returns the typed default value of a specific property.
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <returns>Default value of the property.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">Thrown when the property is not registered.</exception>
        </member>
        <member name="T:System.ComponentModel.DataErrorsChangedEventArgs">
            <summary>
            EventArgs for the <see cref="E:System.ComponentModel.INotifyDataErrorInfo.ErrorsChanged"/> and <see cref="E:System.ComponentModel.INotifyDataWarningInfo.WarningsChanged"/> events.
            </summary>
        </member>
        <member name="M:System.ComponentModel.DataErrorsChangedEventArgs.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:System.ComponentModel.DataErrorsChangedEventArgs"/> class.
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="P:System.ComponentModel.DataErrorsChangedEventArgs.PropertyName">
            <summary>
            Gets or sets the name of the property.
            </summary>
            <value>The name of the property.</value>
        </member>
        <member name="T:Catel.MVVM.Services.IGyroscopeValue">
            <summary>
            Value information about the gyroscope.
            </summary>
        </member>
        <member name="P:Catel.MVVM.Services.IGyroscopeValue.Timestamp">
            <summary>
            Gets the timestamp.
            </summary>
            <value>The timestamp.</value>
        </member>
        <member name="P:Catel.MVVM.Services.IGyroscopeValue.X">
            <summary>
            Gets the X coordinate.
            </summary>
            <value>The X coordinate.</value>
        </member>
        <member name="P:Catel.MVVM.Services.IGyroscopeValue.Y">
            <summary>
            Gets the Y coordinate.
            </summary>
            <value>The Y coordinate.</value>
        </member>
        <member name="P:Catel.MVVM.Services.IGyroscopeValue.Z">
            <summary>
            Gets the Z coordinate.
            </summary>
            <value>The Z coordinate.</value>
        </member>
        <member name="T:Catel.Data.PropertyData">
            <summary>
            Object that contains all the property data that is used by the <see cref="T:Catel.Data.DataObjectBase`1"/> class.
            </summary>
        </member>
        <member name="F:Catel.Data.PropertyData._type">
            <summary>
            Type of the property.
            </summary>
        </member>
        <member name="F:Catel.Data.PropertyData._createDefaultValue">
            <summary>
            Callback to use to create the default value.
            </summary>
        </member>
        <member name="M:Catel.Data.PropertyData.#ctor(System.String,System.Type,System.Object,System.Boolean,System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs},System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.PropertyData"/> class.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="defaultValue">Default value of the property.</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <param name="isSerializable">if set to <c>true</c>, the property is serializable.</param>
            <param name="includeInSerialization">if set to <c>true</c>, the property should be included in the serialization.</param>
            <param name="isDataObjectBaseProperty">if set to <c>true</c>, the property is declared by the <see cref="T:Catel.Data.DataObjectBase"/>.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.PropertyData.#ctor(System.String,System.Type,System.Func{System.Object},System.Boolean,System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs},System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.PropertyData"/> class.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="createDefaultValue">The delegate that creates the default value. If <c>null</c>, a delegate returning the default 
            value (<c>null</c> for reference types, <c>Activator.CreateInstance(type)</c> for reference types).</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <param name="isSerializable">if set to <c>true</c>, the property is serializable.</param>
            <param name="includeInSerialization">if set to <c>true</c>, the property should be included in the serialization.</param>
            <param name="isDataObjectBaseProperty">if set to <c>true</c>, the property is declared by the <see cref="T:Catel.Data.DataObjectBase"/>.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.PropertyData.GetDefaultValue">
            <summary>
            Returns the default value of the property.
            </summary>
            <returns>Default value of the property.</returns>
        </member>
        <member name="M:Catel.Data.PropertyData.GetDefaultValue``1">
            <summary>
            Returns the typed default value of the property.
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
            <returns>Default value of the property.</returns>
        </member>
        <member name="P:Catel.Data.PropertyData.Name">
            <summary>
            Gets the name of the property.
            </summary>
        </member>
        <member name="P:Catel.Data.PropertyData.Type">
            <summary>
            Gets the type of the property.
            </summary>
        </member>
        <member name="P:Catel.Data.PropertyData.DefaultValue">
            <summary>
            Gets or sets the default value of the property.
            </summary>
        </member>
        <member name="P:Catel.Data.PropertyData.SetParent">
            <summary>
            Gets a value indicating whether to set the parent after creating or deserializing the property.
            </summary>
            <value><c>true</c> if the parent of the should be set after creating or deserializing the property; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Catel.Data.PropertyData.PropertyChangedEventHandler">
            <summary>
            Gets a value indicating the property changed event handler.
            </summary>
            <value>The property changed event handler.</value>
        </member>
        <member name="P:Catel.Data.PropertyData.IsSerializable">
            <summary>
            Gets a value indicating whether this property is serializable.
            </summary>
            <value>
            	<c>true</c> if this property is serializable; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.Data.PropertyData.IncludeInSerialization">
            <summary>
            Gets a value indicating whether whether the property should be included in the serialization.
            </summary>
            <value>
            	<c>true</c> if the property should be included in the serialization; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.Data.PropertyData.IsDataObjectBaseProperty">
            <summary>
            Gets a value indicating whether the property is declared by the <see cref="T:Catel.Data.DataObjectBase"/>.
            </summary>
            <value>
            	<c>true</c> if the property is declared by the <see cref="T:Catel.Data.DataObjectBase"/>; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Catel.Data.ISavableDataObjectBase">
            <summary>
            ISavableDataObjectBase that defines the additional methods to save a <see cref="T:Catel.Data.IDataObjectBase"/> object.
            </summary>
        </member>
        <member name="M:Catel.Data.ISavableDataObjectBase.Save(System.String)">
            <summary>
            Saves the object to a file using the default formatting.
            </summary>
            <param name="fileName">Filename of the file that will contain the serialized data of this object.</param>
        </member>
        <member name="M:Catel.Data.ISavableDataObjectBase.Save(System.String,Catel.Data.SerializationMode)">
            <summary>
            Saves the object to a file using a specific formatting.
            </summary>
            <param name="fileName">Filename of the file that will contain the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param>
        </member>
        <member name="M:Catel.Data.ISavableDataObjectBase.Save(System.IO.Stream)">
            <summary>
            Saves the object to a stream using the default formatting.
            </summary>
            <param name="stream">Stream that will contain the serialized data of this object.</param>
        </member>
        <member name="M:Catel.Data.ISavableDataObjectBase.Save(System.IO.Stream,Catel.Data.SerializationMode)">
            <summary>
            Saves the object to a stream using a specific formatting.
            </summary>
            <param name="stream">Stream that will contain the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param>
        </member>
        <member name="P:Catel.Data.ISavableDataObjectBase.Mode">
            <summary>
            Gets the <see cref="T:Catel.Data.SerializationMode"/> of this object.
            </summary>
            <value>The serialization mode.</value>
        </member>
        <member name="P:Catel.Data.ISavableDataObjectBase.Bytes">
            <summary>
            Gets the bytes of the current binary serialized data object.
            </summary>
            <value>The bytes that represent the object data.</value>
        </member>
        <member name="T:Catel.Properties.Exceptions">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.ArgumentCannotBeNullOrEmpty">
            <summary>
              Looks up a localized string similar to Argument cannot be null or empty.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.ArgumentCannotBeNullOrEmptyArray">
            <summary>
              Looks up a localized string similar to Argument cannot be null or an empty array.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.ArgumentCannotBeNullOrWhitespace">
            <summary>
              Looks up a localized string similar to Argument cannot be null or whitespace.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.ArgumentMustBeOfType">
            <summary>
              Looks up a localized string similar to Argument must be of type &apos;{0}&apos;.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.BeginEditCannotBeInvokedTwice">
            <summary>
              Looks up a localized string similar to BeginEdit cannot be invoked twice. A call to BeginEdit must always be closed with a call to CancelEdit or EndEdit..
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.CannotCompareToObjectNotImplementingIDataObjectBase">
            <summary>
              Looks up a localized string similar to Cannot compare to other object because the other object does not implement IDataObjectBase.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.CannotGetPropertyValueException">
            <summary>
              Looks up a localized string similar to Cannot get the value of property &apos;{0}&apos;.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.CannotSetPropertyValueException">
            <summary>
              Looks up a localized string similar to Cannot set the value of property &apos;{0}&apos;.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.ErrorOpeningFileViaWin32">
            <summary>
              Looks up a localized string similar to Error opening file Win32. Error code {0}.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.FailedToCreateDirectory">
            <summary>
              Looks up a localized string similar to Failed to create directory &apos;{0}&apos;.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.FileNotFound">
            <summary>
              Looks up a localized string similar to File not found.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.InvalidViewModel">
            <summary>
              Looks up a localized string similar to Invalid or no view model.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.ModelNotRegistered">
             <summary>
               Looks up a localized string similar to There is no model &apos;{0}&apos; registered with the model attribute, so the ViewModelToModel attribute on property &apos;{1}&apos; is invalid.
            
            If you are sure that you have a model with this name, make sure it&apos;s protected instead of private for Silverlight and WP7 because private reflection is not allowed in Silverlight..
             </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.NonSerializablePropertiesNotSupported">
            <summary>
              Looks up a localized string similar to Properties that are not serializable are not supported.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.NotSupportedInSilverlight">
            <summary>
              Looks up a localized string similar to Unfortunately, this is not supported in Silverlight.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.NotSupportedInWindowsPhone7">
            <summary>
              Looks up a localized string similar to Unfortunately, this is not supported in Windows Phone 7.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.PageNotRegistered">
            <summary>
              Looks up a localized string similar to There is no page registered as &apos;{0}&apos;.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.ParameterMustBeAnInterface">
            <summary>
              Looks up a localized string similar to Parameter must be an interface.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.PropertyNotFound">
            <summary>
              Looks up a localized string similar to Property &apos;{0}&apos; is not found.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.PropertyNotFoundInModel">
            <summary>
              Looks up a localized string similar to Mapped viewmodel property &apos;{0}&apos; to model property &apos;{1}&apos; is invalid because property &apos;{1}&apos; is not found on the model &apos;{2}&apos;.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.ViewModelNotRegistered">
            <summary>
              Looks up a localized string similar to The view model of type &apos;{0}&apos; is not registered thus cannot be used in this context.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.WindowNotRegistered">
            <summary>
              Looks up a localized string similar to There is no window registered as &apos;{0}&apos;.
            </summary>
        </member>
        <member name="P:Catel.Properties.Exceptions.WrongViewModelType">
            <summary>
              Looks up a localized string similar to The view model is of the wrong type. Expected &apos;{0}&apos;, but type is &apos;{1}&apos;.
            </summary>
        </member>
        <member name="T:Catel.MVVM.IViewModelContainer">
            <summary>
            Defines a control as a <see cref="T:Catel.MVVM.IViewModel"/> container.
            </summary>
        </member>
        <member name="P:Catel.MVVM.IViewModelContainer.ViewModel">
            <summary>
            Gets the view model that is contained by the container.
            </summary>
            <value>The view model.</value>
        </member>
        <member name="E:Catel.MVVM.IViewModelContainer.PropertyChanged">
            <summary>
            Occurs when a property on the container has changed.
            </summary>
            <remarks>
            This event makes it possible to externally subscribe to property changes of a <see cref="T:System.Windows.DependencyObject"/>
            (mostly the container of a view model) because the .NET Framework does not allows us to.
            </remarks>
        </member>
        <member name="E:Catel.MVVM.IViewModelContainer.ViewModelChanged">
            <summary>
            Occurs when the <see cref="P:Catel.MVVM.IViewModelContainer.ViewModel"/> property has changed.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.IVibrateService">
            <summary>
            Interface defining the functionality of the vibrate service.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.IVibrateService.Start(System.TimeSpan)">
            <summary>
            Starts vibration on the device.
            </summary>
            <param name="duration">
            A TimeSpan object specifying the amount of time, in seconds, for which the phone vibrates.
            Valid times are between 0 and 5 seconds. Values greater than 5 or less than 0 will generate an exception.
            </param>
            <exception cref="T:System.ArgumentOutOfRangeException">Duration is greater than the 5 seconds or duration is negative.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IVibrateService.Stop">
            <summary>
            Stops the vibration on the device.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.IAccelerometerService">
            <summary>
            Interface for accelerometer sensors.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.ISensorService`2">
            <summary>
            Interface that serves as a base interface for interfaces supported sensors (especially on Windows Phone 7).
            </summary>
            <typeparam name="TValueInterface">The type of the value interface.</typeparam>
            <typeparam name="TEventArgs">The type of the event args.</typeparam>
        </member>
        <member name="M:Catel.MVVM.Services.ISensorService`2.GetCurrentValue">
            <summary>
            Gets the current sensor value.
            </summary>
            <returns>
            The current sensor value. If no value is available, <c>null</c> will be returned.
            </returns>
        </member>
        <member name="M:Catel.MVVM.Services.ISensorService`2.Start">
            <summary>
            Starts the sensor service so it's retrieving data.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.ISensorService`2.Stop">
            <summary>
            Stops the sensor service so it's no longer retrieving data.
            </summary>
        </member>
        <member name="E:Catel.MVVM.Services.ISensorService`2.CurrentValueChanged">
            <summary>
            Occurs when the current sensor value has changed.
            </summary>
        </member>
        <member name="P:Catel.MVVM.Services.ISensorService`2.IsSupported">
            <summary>
            Gets a value indicating whether the device supports the current sensor and thus supports getting values.
            </summary>
            <value>
            	<c>true</c> if this device supports the current sensor; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.MVVM.Services.ISensorService`2.TimeBetweenUpdates">
            <summary>
            Gets or sets the preferred time between updates.
            </summary>
            <value>The preferred time between updates.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ISensorService`2.CurrentValue">
            <summary>
            Gets the current sensor value. If no value is available, <c>null</c> will be returned.
            </summary>
            <value>The current sensor value.</value>
            <remarks>
            This is convenience property that internally calls <see cref="M:Catel.MVVM.Services.ISensorService`2.GetCurrentValue"/>.
            <para/>
            Note that the services inside Catel do not support <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>, thus you cannot 
            subscribe to changes of this property. Instead, subscribe to the <see cref="E:Catel.MVVM.Services.ISensorService`2.CurrentValueChanged"/> event.
            </remarks>
        </member>
        <member name="T:Catel.MVVM.Services.WindowNotRegisteredException">
            <summary>
            Exception in case a window not registered, but still being used.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.WindowNotRegisteredException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.Services.WindowNotRegisteredException"/> class.
            </summary>
            <param name="name">The name of the window.</param>
        </member>
        <member name="P:Catel.MVVM.Services.WindowNotRegisteredException.Name">
            <summary>
            Gets the name of the window.
            </summary>
            <value>The name of the window.</value>
        </member>
        <member name="T:Catel.MVVM.Services.AccelerometerValueChangedEventArgs">
            <summary>
            <see cref="T:System.EventArgs"/> implementation which contains a new accelerometer value.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.AccelerometerValueChangedEventArgs.#ctor(Catel.MVVM.Services.IAccelerometerValue)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.Services.AccelerometerValueChangedEventArgs"/> class.
            </summary>
            <param name="newValue">The new accelerometer value.</param>
        </member>
        <member name="P:Catel.MVVM.Services.AccelerometerValueChangedEventArgs.Value">
            <summary>
            Gets the new accelerometer value.
            </summary>
            <value>The new accelerometer value.</value>
        </member>
        <member name="T:Catel.Reflection.PropertyNotFoundException">
            <summary>
            Exception for in case a property is not found.
            </summary>
        </member>
        <member name="M:Catel.Reflection.PropertyNotFoundException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Reflection.PropertyNotFoundException"/> class.
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="P:Catel.Reflection.PropertyNotFoundException.PropertyName">
            <summary>
            Gets the name of the property.
            </summary>
            <value>The name of the property.</value>
        </member>
        <member name="T:Catel.Reflection.CannotSetPropertyValueException">
            <summary>
            Exception in case a property value cannot be set.
            </summary>
        </member>
        <member name="M:Catel.Reflection.CannotSetPropertyValueException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Reflection.CannotSetPropertyValueException"/> class.
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="P:Catel.Reflection.CannotSetPropertyValueException.PropertyName">
            <summary>
            Gets the name of the property.
            </summary>
            <value>The name of the property.</value>
        </member>
        <member name="T:Catel.MVVM.Services.PleaseWaitWorkDelegate">
            <summary>
            Please wait work delegate.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.IPleaseWaitService">
            <summary>
            Interface for the Please Wait service.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.IPleaseWaitService.Show">
            <summary>
            Shows the please wait window with the default status text.
            </summary>
            <remarks>
            When this method is used, the <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Hide"/> method must be called to hide the window again.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.Services.IPleaseWaitService.Show(System.String)">
            <summary>
            Shows the please wait window with the specified status text.
            </summary>
            <param name="status">The status.</param>
            <remarks>
            When this method is used, the <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Hide"/> method must be called to hide the window again.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.Services.IPleaseWaitService.Show(Catel.MVVM.Services.PleaseWaitWorkDelegate)">
            <summary>
            Shows the please wait window with the default status text and executes the work delegate (in a background thread). When the work
            is finished, the please wait window will be automatically closed.
            </summary>
            <param name="workDelegate">The work delegate.</param>
        </member>
        <member name="M:Catel.MVVM.Services.IPleaseWaitService.Show(Catel.MVVM.Services.PleaseWaitWorkDelegate,System.String)">
            <summary>
            Shows the please wait window with the specified status text and executes the work delegate (in a background thread). When the work 
            is finished, the please wait window will be automatically closed.
            </summary>
            <param name="workDelegate">The work delegate.</param>
            <param name="status">The status.</param>
        </member>
        <member name="M:Catel.MVVM.Services.IPleaseWaitService.UpdateStatus(System.String)">
            <summary>
            Updates the status text.
            </summary>
            <param name="status">The status.</param>
        </member>
        <member name="M:Catel.MVVM.Services.IPleaseWaitService.UpdateStatus(System.String,System.Int32)">
            <summary>
            Updates the status.
            </summary>
            <param name="status">The status.</param>
            <param name="width">The width.</param>
        </member>
        <member name="M:Catel.MVVM.Services.IPleaseWaitService.Hide">
            <summary>
            Hides this please wait window.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.IPleaseWaitService.Push">
            <summary>
            Increases the number of clients that show the please wait window. The implementing class 
            is responsible for holding a counter internally which a call to this method will increase.
            <para/>
            As long as the internal counter is not zero (0), the please wait window will stay visible. To
            decrease the counter, make a call to <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Pop"/>.
            <para/>
            A call to <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Show"/> or one of its overloads will not increase the internal counter. A
            call to <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Hide"/> will reset the internal counter to zero (0) and thus hide the window.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.IPleaseWaitService.Push(System.String)">
            <summary>
            Increases the number of clients that show the please wait window. The implementing class
            is responsible for holding a counter internally which a call to this method will increase.
            <para/>
            As long as the internal counter is not zero (0), the please wait window will stay visible. To
            decrease the counter, make a call to <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Pop"/>.
            <para/>
            A call to <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Show"/> or one of its overloads will not increase the internal counter. A
            call to <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Hide"/> will reset the internal counter to zero (0) and thus hide the window.
            </summary>
            <param name="status">The status to change the text to.</param>
        </member>
        <member name="M:Catel.MVVM.Services.IPleaseWaitService.Pop">
            <summary>
            Decreases the number of clients that show the please wait window. The implementing class 
            is responsible for holding a counter internally which a call to this method will decrease.
            <para/>
            As long as the internal counter is not zero (0), the please wait window will stay visible. To
            increase the counter, make a call to <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Pop"/>.
            <para/>
            A call to <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Show"/> or one of its overloads will not increase the internal counter. A
            call to <see cref="M:Catel.MVVM.Services.IPleaseWaitService.Hide"/> will reset the internal counter to zero (0) and thus hide the window.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.INavigationService">
            <summary>
            Service to navigate inside applications.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.GoBack">
            <summary>
            Navigates back to the previous page.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.GoForward">
            <summary>
            Navigates forward to the next page.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Navigate(System.String)">
            <summary>
            Navigates to a specific location.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Navigate(System.String,System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Navigates to a specific location.
            </summary>
            <param name="uri">The URI.</param>
            <param name="parameters">Dictionary of parameters, where the key is the name of the parameter, 
            and the value is the value of the parameter.</param>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Navigate(System.Uri)">
            <summary>
            Navigates to a specific location.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Navigate``1">
            <summary>
            Navigates the specified location registered using the view model type.
            </summary>
            <typeparam name="TViewModelType">The view model type.</typeparam>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Navigate``1(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Navigates the specified location registered using the view model type.
            </summary>
            <typeparam name="TViewModelType">The view model type.</typeparam>
            <param name="parameters">Dictionary of parameters, where the key is the name of the parameter, 
            and the value is the value of the parameter.</param>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Navigate(System.Type)">
            <summary>
            Navigates the specified location registered using the view model type.
            </summary>
            <param name="viewModelType">The view model type.</param>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Navigate(System.Type,System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Navigates the specified location registered using the view model type.
            </summary>
            <param name="viewModelType">The view model type.</param>
            <param name="parameters">Dictionary of parameters, where the key is the name of the parameter, 
            and the value is the value of the parameter.</param>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Register(System.Type,System.Type)">
            <summary>
            Registers the specified view model and the page type. This way, Catel knowns what
            page to show when a specific view model page is requested.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
            <param name="pageType">Type of the page.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="viewModelType"/> does not implement <see cref="T:Catel.MVVM.IViewModel"/>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="pageType"/> is not of the right type.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Register(System.Type,System.Uri)">
            <summary>
            Registers the specified view model and the uri. Use this method to override the uri
            detection mechanism in Catel.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
            <param name="uri">The URI to register.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="viewModelType"/> does not implement <see cref="T:Catel.MVVM.IViewModel"/>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="uri"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Register(System.String,System.Type)">
            <summary>
            Registers the specified view model and the page type. This way, Catel knowns what
            page to show when a specific view model page is requested.
            </summary>
            <param name="name">Name of the registered page.</param>
            <param name="pageType">Type of the page.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="pageType"/> is not of the right type.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Register(System.String,System.Uri)">
            <summary>
            Registers the specified view model and the uri. Use this method to override the uri
            detection mechanism in Catel.
            </summary>
            <param name="name">The name of the registered page.</param>
            <param name="uri">The URI to register.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="uri"/> is <c>null</c>.</exception>
            <exception cref="T:System.InvalidOperationException">The <paramref name="name"/> is already registered.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Unregister(System.Type)">
            <summary>
            This unregisters the specified view model.
            </summary>
            <param name="viewModelType">Type of the view model to unregister.</param>
            <returns>
            	<c>true</c> if the view model is unregistered; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.Services.INavigationService.Unregister(System.String)">
            <summary>
            This unregisters the specified view model.
            </summary>
            <param name="name">Name of the registered page.</param>
            <returns>
            	<c>true</c> if the view model is unregistered; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="P:Catel.MVVM.Services.INavigationService.CanGoBack">
            <summary>
            Gets a value indicating whether it is possible to navigate back.
            </summary>
            <value>
            	<c>true</c> if it is possible to navigate back; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.MVVM.Services.INavigationService.CanGoForward">
            <summary>
            Gets a value indicating whether it is possible to navigate forward.
            </summary>
            <value>
            	<c>true</c> if it is possible to navigate forward otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Catel.MVVM.PropertyNotFoundInModelException">
            <summary>
            Exception in case a mapped property is not found on the model.
            </summary>
        </member>
        <member name="M:Catel.MVVM.PropertyNotFoundInModelException.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.PropertyNotFoundInModelException"/> class.
            </summary>
            <param name="viewModelPropertyName">Name of the view model property.</param>
            <param name="modelName">Name of the model.</param>
            <param name="modelPropertyName">Name of the model property.</param>
        </member>
        <member name="P:Catel.MVVM.PropertyNotFoundInModelException.ViewModelPropertyName">
            <summary>
            Gets the name of the view model property.
            </summary>
            <value>The name of the view model property.</value>
        </member>
        <member name="P:Catel.MVVM.PropertyNotFoundInModelException.ModelName">
            <summary>
            Gets the name of the model.
            </summary>
            <value>The name of the model.</value>
        </member>
        <member name="P:Catel.MVVM.PropertyNotFoundInModelException.ModelPropertyName">
            <summary>
            Gets the name of the model property.
            </summary>
            <value>The name of the model property.</value>
        </member>
        <member name="T:Catel.MVVM.ICatelCommand">
            <summary>
            Advanced <see cref="T:System.Windows.Input.ICommand"/> interface definition to provide advanced functionality.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ICatelCommand.RaiseCanExecuteChanged">
            <summary>
            Raises the <see cref="E:System.Windows.Input.ICommand.CanExecuteChanged"/> event.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ICatelCommand.CanExecute">
            <summary>
            Invokes the <see cref="M:System.Windows.Input.ICommand.CanExecute(System.Object)"/> with <c>null</c> as parameter.
            </summary>
            <returns>
            	<c>true</c> if this instance can execute; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ICatelCommand.Execute">
            <summary>
            Invokes the <see cref="M:System.Windows.Input.ICommand.Execute(System.Object)"/> with <c>null</c> as parameter.
            </summary>
            <returns>
            	<c>true</c> if this instance can execute; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="P:Catel.MVVM.ICatelCommand.Tag">
            <summary>
            Gets the tag for this command. A tag is a way to link any object to a command so you can use your own
            methods to recognize the commands, for example by ID or string.
            <para />
            By default, the value is <c>null</c>.
            </summary>
            <value>The tag.</value>
        </member>
        <member name="E:Catel.MVVM.ICatelCommand.Executed">
            <summary>
            Occurs when the command has just been executed successfully.
            </summary>
        </member>
        <member name="T:Catel.Logging.LogManager">
            <summary>
            Log manager that allows external libraries to subscribe to logging of Catel.
            <para/>
            The manager automatically adds an instance of the <see cref="T:Catel.Logging.DebugLogListener"/> to
            the list of listeners so the tracing is available in debug mode. To remove this listener,
            call <see cref="M:Catel.Logging.LogManager.ClearListeners"/> before doing any initialization.
            </summary>
        </member>
        <member name="F:Catel.Logging.LogManager._logListeners">
            <summary>
            List of all registered <see cref="T:Catel.Logging.ILogListener"/> instances.
            </summary>
        </member>
        <member name="F:Catel.Logging.LogManager._loggers">
            <summary>
            Dictionary containing the logs per type.
            </summary>
        </member>
        <member name="F:Catel.Logging.LogManager.Log">
            <summary>
            Logging of the class. Must be declared after the log listeners and loggers.
            </summary>
        </member>
        <member name="M:Catel.Logging.LogManager.#cctor">
            <summary>
            Initializes the <see cref="T:Catel.Logging.LogManager"/> class.
            </summary>
        </member>
        <member name="M:Catel.Logging.LogManager.GetLogger(System.Type)">
            <summary>
            Gets the logger for the specified type.
            </summary>
            <param name="type">The type.</param>
            <returns></returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.LogManager.GetListeners">
            <summary>
            Gets all the currently registered log listeners.
            </summary>
            <returns></returns>
        </member>
        <member name="M:Catel.Logging.LogManager.AddListener(Catel.Logging.ILogListener)">
            <summary>
            Adds a log listener which will receive all log events.
            <para/>
            This method does not check whether the <paramref name="listener"/> is already added to the list
            of registered listeners.
            </summary>
            <param name="listener">The listener.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="listener"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.LogManager.RemoveListener(Catel.Logging.ILogListener)">
            <summary>
            Removes the a log listener which will stop receiving all log events.
            </summary>
            <param name="listener">The listener.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="listener"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.LogManager.IsListenerRegistered(Catel.Logging.ILogListener)">
            <summary>
            Determines whether the specified listener is already registered or not.
            </summary>
            <param name="listener">The listener.</param>
            <returns>
            	<c>true</c> if the specified listener is already registered; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="listener"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.LogManager.ClearListeners">
            <summary>
            Clears all the current listeners.
            </summary>
        </member>
        <member name="M:Catel.Logging.LogManager.OnLogMessage(System.Object,Catel.Logging.LogMessageEventArgs)">
            <summary>
            Called when one of the logs has written a log message.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:Catel.Logging.LogMessageEventArgs"/> instance containing the event data.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">The <see cref="T:Catel.Logging.LogEvent"/> is not supported.</exception>
        </member>
        <member name="E:Catel.Logging.LogManager.LogMessage">
            <summary>
            Occurs when a log message is written to one of the logs.
            </summary>
        </member>
        <member name="T:Catel.Logging.LogMessageEventArgs">
            <summary>
              Event args containing information about a message that has been written to a log.
            </summary>
        </member>
        <member name="M:Catel.Logging.LogMessageEventArgs.#ctor(Catel.Logging.ILog,System.String,Catel.Logging.LogEvent)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Logging.LogMessageEventArgs"/> class.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
            <param name="logEvent">The log event.</param>
        </member>
        <member name="M:Catel.Logging.LogMessageEventArgs.#ctor(Catel.Logging.ILog,System.String,Catel.Logging.LogEvent,System.DateTime)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Logging.LogMessageEventArgs"/> class.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
            <param name="logEvent">The log event.</param>
            <param name="time">The time.</param>
        </member>
        <member name="P:Catel.Logging.LogMessageEventArgs.Log">
            <summary>
              Gets the log the message was written to.
            </summary>
            <value>The log.</value>
        </member>
        <member name="P:Catel.Logging.LogMessageEventArgs.Message">
            <summary>
              Gets the message that was written to the log.
            </summary>
            <value>The message.</value>
        </member>
        <member name="P:Catel.Logging.LogMessageEventArgs.LogEvent">
            <summary>
              Gets the log event.
            </summary>
            <value>The log event.</value>
        </member>
        <member name="P:Catel.Logging.LogMessageEventArgs.Time">
            <summary>
            Gets the time at which the message was written to the log.
            </summary>
            <value>The time.</value>
        </member>
        <member name="T:Catel.Data.SavableDataObjectBase`1">
            <summary>
            Abstract class that makes the <see cref="T:Catel.Data.DataObjectBase`1"/> serializable.
            </summary>
            <typeparam name="T">Type that the class should hold (same as the defined type).</typeparam>
        </member>
        <member name="T:Catel.Data.DataObjectBase`1">
            <summary>
            Abstract class that serves as a base class for serializable objects.
            </summary>
            <typeparam name="TDataObject">Type that the class should hold (same as the defined type).</typeparam>
        </member>
        <member name="T:Catel.Data.DataObjectBase">
            <summary>
            Abstract class that serves as a base class for serializable objects.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase.WarningMessageProperty">
            <summary>
            The name of the <see cref="P:System.ComponentModel.IDataWarningInfo.Warning"/> property.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase.ErrorMessageProperty">
            <summary>
            The name of the <see cref="P:System.ComponentModel.IDataErrorInfo.Error"/> property.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase.UncomputedHashCode">
            <summary>
            The constant that represents the uncomputed hash code.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase.InternalSerializationType">
            <summary>
            The type that is used for internal serialization.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._initializedTypes">
            <summary>
            Dictionary of initialized types.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._initializedTypesLock">
            <summary>
            Lock object for the <see cref="F:Catel.Data.DataObjectBase._initializedTypes"/> field.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._typesNotToDispose">
            <summary>
            List of types not to dispose automatically.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._propertyValues">
            <summary>
            The property values.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._propertyValuesLock">
            <summary>
            Lock object for the <see cref="F:Catel.Data.DataObjectBase._propertyValues"/> field.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._propertyValuesFailedForValidation">
            <summary>
            The property names that failed to validate and should be skipped next time for NET 4.0 
            attribute validation.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._backup">
            <summary>
            The backup of the current object if any backup is initiated.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._fieldWarnings">
            <summary>
            Dictionary of field warnings per property.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._businessWarnings">
            <summary>
            List of business warnings.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._fieldErrors">
            <summary>
            Dictionary of field errors per property.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._businessErrors">
            <summary>
            List of business errors.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._validationLock">
            <summary>
            Lock object to make sure that multiple validations at the same time are not allowed.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._serializationInfo">
            <summary>
            The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that is retrieved and will be used for deserialization.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase._parent">
            <summary>
            The parent object of the current object.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.#cctor">
            <summary>
            Initializes static members of the <see cref="T:Catel.Data.DataObjectBase"/> class.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.DataObjectBase"/> class.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.DataObjectBase"/> class.
            <para/>
            Only constructor for the DataObjectBase.
            </summary>
            <param name="info">SerializationInfo object, null if this is the first time construction.</param>
            <param name="context">StreamingContext object, simple pass a default new StreamingContext() if this is the first time construction.</param>
            <remarks>
            Call this method, even when constructing the object for the first time (thus not deserializing).
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Finalize">
            <summary>
            Finalizes an instance of the <see cref="T:Catel.Data.DataObjectBase"/> class.
            <para/>
            Releases unmanaged resources and performs other cleanup operations before the
            <see cref="T:Catel.Data.DataObjectBase"/> is reclaimed by garbage collection.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.op_Equality(Catel.Data.DataObjectBase,Catel.Data.DataObjectBase)">
            <summary>
            Implements the operator ==.
            </summary>
            <param name="firstObject">The first object.</param>
            <param name="secondObject">The second object.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.op_Inequality(Catel.Data.DataObjectBase,Catel.Data.DataObjectBase)">
            <summary>
            Implements the operator !=.
            </summary>
            <param name="firstObject">The first object.</param>
            <param name="secondObject">The second object.</param>
            <returns>The result of the operator.</returns>
        </member>
        <member name="F:Catel.Data.DataObjectBase.IsDirtyProperty">
            <summary>
            Register the IsDirty property so it is known in the class.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase.IsReadOnlyProperty">
            <summary>
            Register the IsReadOnly property so it is known in the class.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.InitializeCustomProperties">
            <summary>
            Allows the initialization of custom properties. This is a virtual method that is called
            inside the constructor before the object is fully constructed.
            <para />
            This might be considered as bad or as a hack, but it's a good way to be able to inject
            custom properties before any actual logic is handled by derived classes.
            </summary>
            <remarks>
            Only use when you really know what you are doing.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnInitializing">
            <summary>
            Called when the object is being initialized.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnInitialized">
            <summary>
            Called when the object is initialized.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnUninitializing">
            <summary>
            Called when the object is uninitializing.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnUninitialized">
            <summary>
            Called when the object is uninitialized.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnDeserialized">
            <summary>
            Called when the object is deserialized.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Initialize">
            <summary>
            Initializes the object by setting default values.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.FinishDeserialization">
            <summary>
            Finishes the deserialization (both binary and xml)
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.FinishInitializationAfterConstructionOrDeserialization">
            <summary>
            Finishes the initialization after construction or deserialization.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetParent(Catel.Data.IParent)">
            <summary>
            Sets the new parent of this object.
            </summary>
            <param name="parent">The new parent.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetValue(System.String,System.Object)">
            <summary>
            Sets the value of a specific property.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="value">Value of the property</param>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetValue(System.String,System.Object,System.Boolean)">
            <summary>
            Sets the value of a specific property.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="value">Value of the property</param>
            <param name="notifyOnChange">If <c>true</c>, the <see cref="E:System.ComponentModel.INotifyPropertyChanged.PropertyChanged"/> event will be invoked.</param>
            <exception cref="T:Catel.Data.PropertyNotNullableException">The property is not nullable, but <paramref name="value"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception> 
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetValue(Catel.Data.PropertyData,System.Object)">
            <summary>
            Sets the value of a specific property.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <param name="value">Value of the property</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetValue(System.String)">
            <summary>
            Gets the value of a specific property.
            </summary>
            <param name="name">Name of the property.</param>
            <returns>Object value of the property</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetValue``1(System.String)">
            <summary>
            Gets the typed value of a specific property.
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="name">Name of the property.</param>
            <returns>Object value of the property</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetValue(Catel.Data.PropertyData)">
            <summary>
            Gets the value of a specific property.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <returns>Object value of the property</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetValue``1(Catel.Data.PropertyData)">
            <summary>
            Gets the typed value of a specific property.
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <returns>Object value of the property</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetDefaultValue(System.String)">
            <summary>
            Returns the default value of a specific property.
            </summary>
            <param name="name">Name of the property.</param>
            <returns>Default value of the property.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetDefaultValue(Catel.Data.PropertyData)">
            <summary>
            Returns the default value of a specific property.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <returns>Default value of the property.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetDefaultValue``1(System.String)">
            <summary>
            Returns the typed default value of a specific property.
            </summary>
            <typeparam name="TValue">The type of the 1.</typeparam>
            <param name="name">Name of the property.</param>
            <returns>Default value of the property.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetDefaultValue``1(Catel.Data.PropertyData)">
            <summary>
            Returns the typed default value of a specific property.
            </summary>
            <typeparam name="TValue">The type of the 1.</typeparam>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <returns>Default value of the property.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.NullReferenceException">
            The <paramref name="obj"/> parameter is null.
            </exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ClearIsDirtyOnAllChilds">
            <summary>
            Clears the <see cref="P:Catel.Data.DataObjectBase.IsDirty"/> on all childs.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ClearIsDirtyOnAllChilds(System.Object)">
            <summary>
            Clears the <see cref="P:Catel.Data.DataObjectBase.IsDirty"/> on all childs.
            </summary>
            <param name="obj">The object.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty(System.String,System.Type)">
            <summary>
            Registers a property that will be automatically handled by this object with <c>null</c> as default value.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty``1(System.String,System.Type,``0)">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="defaultValue">Default value of the property.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty(System.String,System.Type,System.Func{System.Object})">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="createDefaultValue">The delegate that creates the default value. If <c>null</c>, a delegate returning the default 
            value (<c>null</c> for reference types, <c>Activator.CreateInstance(type)</c> for reference types).</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty``1(System.String,System.Type,``0,System.Boolean)">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="defaultValue">Default value of the property.</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty(System.String,System.Type,System.Func{System.Object},System.Boolean)">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="createDefaultValue">The delegate that creates the default value. If <c>null</c>, a delegate returning the default 
            value (<c>null</c> for reference types, <c>Activator.CreateInstance(type)</c> for reference types).</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty``1(System.String,System.Type,``0,System.Boolean,System.Boolean)">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="defaultValue">Default value of the property.</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="includeInSerialization">if set to <c>true</c>, the property should be included in the serialization.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty(System.String,System.Type,System.Func{System.Object},System.Boolean,System.Boolean)">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="createDefaultValue">The delegate that creates the default value. If <c>null</c>, a delegate returning the default 
            value (<c>null</c> for reference types, <c>Activator.CreateInstance(type)</c> for reference types).</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="includeInSerialization">if set to <c>true</c>, the property should be included in the serialization.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty``1(System.String,System.Type,``0,System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs})">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="defaultValue">Default value of the property.</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty(System.String,System.Type,System.Func{System.Object},System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs})">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="createDefaultValue">The delegate that creates the default value. If <c>null</c>, a delegate returning the default 
            value (<c>null</c> for reference types, <c>Activator.CreateInstance(type)</c> for reference types).</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty``1(System.String,System.Type,``0,System.Boolean,System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs})">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="defaultValue">Default value of the property.</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty(System.String,System.Type,System.Func{System.Object},System.Boolean,System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs})">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="createDefaultValue">The delegate that creates the default value. If <c>null</c>, a delegate returning the default 
            value (<c>null</c> for reference types, <c>Activator.CreateInstance(type)</c> for reference types).</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty``1(System.String,System.Type,``0,System.Boolean,System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs},System.Boolean)">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="defaultValue">Default value of the property.</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <param name="includeInSerialization">if set to <c>true</c>, the property should be included in the serialization.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty(System.String,System.Type,System.Func{System.Object},System.Boolean,System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs},System.Boolean)">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="createDefaultValue">The delegate that creates the default value. If <c>null</c>, a delegate returning the default 
            value (<c>null</c> for reference types, <c>Activator.CreateInstance(type)</c> for reference types).</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <param name="includeInSerialization">if set to <c>true</c>, the property should be included in the serialization.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty``1(System.String,System.Type,``0,System.Boolean,System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs},System.Boolean,System.Boolean)">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="defaultValue">Default value of the property.</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <param name="includeInSerialization">if set to <c>true</c>, the property should be included in the serialization.</param>
            <param name="isDataObjectBaseProperty">if set to <c>true</c>, the property is declared by the <see cref="T:Catel.Data.DataObjectBase"/>.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RegisterProperty(System.String,System.Type,System.Func{System.Object},System.Boolean,System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs},System.Boolean,System.Boolean)">
            <summary>
            Registers a property that will be automatically handled by this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="createDefaultValue">The delegate that creates the default value. If <c>null</c>, a delegate returning the default 
            value (<c>null</c> for reference types, <c>Activator.CreateInstance(type)</c> for reference types).</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <param name="includeInSerialization">if set to <c>true</c>, the property should be included in the serialization.</param>
            <param name="isDataObjectBaseProperty">if set to <c>true</c>, the property is declared by the <see cref="T:Catel.Data.DataObjectBase"/>.</param>
            <returns>
            	<see cref="T:Catel.Data.PropertyData"/> containing the property information.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.InitializeProperties">
            <summary>
            Initializes all the properties for this object.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.InitializePropertyAfterConstruction(Catel.Data.PropertyData)">
            <summary>
            Initializes a specific property for this object after the object is already constructed and initialized.
            <para/>
            Normally, properties are automatically registered in the constructor. If properties should be registered
            via runtime behavior, this method must be used.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.Data.InvalidPropertyException">The name of the property is invalid.</exception>
            <exception cref="T:Catel.Data.PropertyAlreadyRegisteredException">The property is already registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.InitializeProperty(Catel.Data.PropertyData)">
            <summary>
            Initializes a specific property for this object.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.Data.InvalidPropertyException">The name of the property is invalid.</exception>
            <exception cref="T:Catel.Data.PropertyAlreadyRegisteredException">The property is already registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.InitializeProperty(Catel.Data.PropertyData,System.Boolean)">
            <summary>
            Initializes a specific property for this object.
            </summary>
            <param name="property">The property.</param>
            <param name="lateRegistration">if set to <c>true</c>, the property is assumed to be registered after the official initialization.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.Data.InvalidPropertyException">The name of the property is invalid.</exception>
            <exception cref="T:Catel.Data.PropertyAlreadyRegisteredException">The property is already registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.InitializeProperty(System.String,System.Type,System.Object,System.Boolean,System.EventHandler{Catel.Data.PropertyChangedWithSenderEventArgs},System.Boolean,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Initializes a specific property for this object.
            </summary>
            <param name="name">Name of the property.</param>
            <param name="type">Type of the property.</param>
            <param name="defaultValue">Default value of the property.</param>
            <param name="setParent">if set to <c>true</c>, the parent of the property will be set.</param>
            <param name="propertyChangedEventHandler">The property changed event handler.</param>
            <param name="isSerializable">if set to <c>true</c>, the property is serializable.</param>
            <param name="includeInSerialization">if set to <c>true</c>, the property should be included in the serialization.</param>
            <param name="isDataObjectBaseProperty">if set to <c>true</c>, the property is declared by the <see cref="T:Catel.Data.DataObjectBase"/>.</param>
            <param name="lateRegistration">if set to <c>true</c>, the property is assumed to be registered after the official initialization.</param>
            <exception cref="T:Catel.Data.InvalidPropertyException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:Catel.Data.PropertyAlreadyRegisteredException">The property is already registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.IsDataObjectBaseProperty(System.String)">
            <summary>
            Determines whether the specified property is a property declared by the <see cref="T:Catel.Data.DataObjectBase"/> itself.
            </summary>
            <param name="name">The name of the property.</param>
            <returns>
            	<c>true</c> if the specified property is a property declared by the <see cref="T:Catel.Data.DataObjectBase"/> itself; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.IsPropertyRegistered(System.String)">
            <summary>
            Returns whether a specific property is registered.
            </summary>
            <param name="name">Name of the property.</param>
            <returns>True if the property is registered, otherwise false.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.IsPropertyRegistered``1(System.String)">
            <summary>
            Returns whether a specific property is registered.
            </summary>
            <typeparam name="T">Type of the object for which to check.</typeparam>
            <param name="name">Name of the property.</param>
            <returns>
            True if the property is registered, otherwise false.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.IsPropertyRegistered(System.Type,System.String)">
            <summary>
            Returns whether a specific property is registered.
            </summary>
            <param name="type">The type of the object for which to check.</param>
            <param name="name">Name of the property.</param>
            <returns>
            True if the property is registered, otherwise false.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetPropertyData(System.String)">
            <summary>
            Gets the <see cref="T:Catel.Data.PropertyData"/> for the specified property.
            </summary>
            <param name="name">The name of the property.</param>
            <returns>The <see cref="T:Catel.Data.PropertyData"/>.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetPropertyInfo(Catel.Data.PropertyData)">
            <summary>
            Gets the <see cref="T:System.Reflection.PropertyInfo"/> for the specified property.
            </summary>
            <param name="property">The property.</param>
            <returns><see cref="T:System.Reflection.PropertyInfo"/> or <c>null</c> if no property info is found.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetPropertyInfo(System.String)">
            <summary>
            Gets the <see cref="T:System.Reflection.PropertyInfo"/> for the specified property.
            </summary>
            <param name="property">The name of the property.</param>
            <returns><see cref="T:System.Reflection.PropertyInfo"/> or <c>null</c> if no property info is found.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetPropertyType(System.String)">
            <summary>
            Returns the type of a specific property.
            </summary>
            <param name="name">The name of the property.</param>
            <returns>Type of the property.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetPropertyType(Catel.Data.PropertyData)">
            <summary>
            Returns the type of a specific property.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <returns>Type of the property.</returns>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">The property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SubscribeAllObjectsToNotifyChangedEvents">
            <summary>
            Subscribes all objects to notify changed events.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.UnsubscribeAllObjectsFromNotifyChanged">
            <summary>
            Unsubscribes all objects from notify changed.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.HandleObjectEventsSubscription(System.Object,System.Object)">
            <summary>
            Subscribes to events of child objects.
            </summary>
            <param name="oldValue">The old value.</param>
            <param name="newValue">The new value.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.UnsubscribeNotifyChangedEvents(System.Object)">
            <summary>
            Unsubscribes from the notify changed events.
            </summary>
            <param name="value">The object to unsubscribe from.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SubscribeNotifyChangedEvents(System.Object)">
            <summary>
            Subscribes to the notify changed events.
            </summary>
            <param name="value">The object to subscribe to.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RaisePropertyChangedForAllRegisteredProperties">
            <summary>
            Invokes the property changed for all registered properties.
            </summary>
            <remarks>
            Using this method does not set the <see cref="P:Catel.Data.DataObjectBase.IsDirty"/> property to <c>true</c>, nor will
            it cause the object to validate itself automatically, even when the <see cref="P:Catel.Data.DataObjectBase.AutomaticallyValidateOnPropertyChanged"/>
            is set to <c>true</c>.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RaisePropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Raises the <see cref="E:System.ComponentModel.INotifyPropertyChanged.PropertyChanged"/> event.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
            <remarks>
            This method is overriden en does not call the base because lots of additional logic is added in this class. The
            <see cref="M:Catel.Data.DataObjectBase.RaisePropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs,System.Boolean)"/> will explicitly call 
            <see cref="M:Catel.Data.ObservableObject.RaisePropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)"/>.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnObjectPropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Invoked when a property value has changed.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.RaisePropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs,System.Boolean)">
            <summary>
            Invoked when a property value has changed.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
            <param name="setDirtyAndAllowAutomaticValidation">if set to <c>true</c>, the <see cref="P:Catel.Data.DataObjectBase.IsDirty"/> property is set and automatic validation is allowed.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnCollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Invoked when a collection value has changed.
            </summary>
            <param name="sender">The object that contains the changed collection value.</param>
            <param name="e"><see cref="T:System.Collections.Specialized.NotifyCollectionChangedEventArgs"/> containing all information about the changed collection.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ValidateFields">
            <summary>
            Validates the field values of this object. Override this method to enable
            validation of field values.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ValidateFields(System.Collections.Generic.List{Catel.Data.FieldValidationResult})">
            <summary>
            Validates the field values of this object. Override this method to enable
            validation of field values.
            </summary>
            <param name="validationResults">The validation results, add additional results to this list.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldValidationResult(Catel.Data.FieldValidationResult)">
            <summary>
            Sets the field validation result.
            </summary>
            <param name="validationResult">The field validation result.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="validationResult"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ValidateBusinessRules">
            <summary>
            Validates the business rules of this object. Override this method to enable
            validation of business rules.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ValidateBusinessRules(System.Collections.Generic.List{Catel.Data.BusinessRuleValidationResult})">
            <summary>
            Validates the business rules of this object. Override this method to enable
            validation of business rules.
            </summary>
            <param name="validationResults">The validation results, add additional results to this list.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetBusinessRuleValidationResult(Catel.Data.BusinessRuleValidationResult)">
            <summary>
            Sets the business rule validation result.
            </summary>
            <param name="validationResult">The business rule validation result.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="validationResult"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnValidating">
            <summary>
            Called when the object is validating.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnValidatingFields">
            <summary>
            Called when the object is validating the fields.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnValidatedFields">
            <summary>
            Called when the object has validated the fields.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnValidatingBusinessRules">
            <summary>
            Called when the object is validating the business rules.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnValidatedBusinessRules">
            <summary>
            Called when the object has validated the business rules.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnValidated">
            <summary>
            Called when the object is validated.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Validate">
            <summary>
            Validates the current object for field and business rule errors.
            </summary>
            <remarks>
            To check wether this object contains any errors, use the <see cref="P:Catel.Data.DataObjectBase.HasErrors"/> property.
            <para/>
            This method does not force validation. This means that when the object is already validated,
            and no properties have been changed, no validation actually occurs since there is no reason
            for any values to have changed.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Validate(System.Boolean)">
            <summary>
            Validates the current object for field and business rule errors.
            </summary>
            <param name="force">if set to <c>true</c>, a validation is forced.</param>
            <remarks>
            To check wether this object contains any errors, use the <see cref="P:Catel.Data.DataObjectBase.HasErrors"/> property.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Validate(System.Boolean,System.Boolean)">
            <summary>
            Validates the current object for field and business rule errors.
            </summary>
            <param name="force">if set to <c>true</c>, a validation is forced (even if the object knows it is already validated).</param>
            <param name="notifyChangedPropertiesOnly">if set to <c>true</c> only the properties for which the warnings or errors have been changed 
            will be updated via <see cref="E:System.ComponentModel.INotifyPropertyChanged.PropertyChanged"/>; otherwise all the properties that
            had warnings or errors but not anymore and properties still containing warnings or errors will be updated.</param>
            <remarks>
            To check wether this object contains any errors, use the <see cref="P:Catel.Data.DataObjectBase.HasErrors"/> property.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.NotifyErrorsChanged(System.String,System.Boolean)">
            <summary>
            Notifies all listeners that the errors for the specified property have changed. If the
            <paramref name="propertyName"/> is <c>null</c> or <see cref="F:System.String.Empty"/>, the business
            errors will be updated.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="notifyHasErrors">if set to <c>true</c>, the <see cref="P:Catel.Data.DataObjectBase.HasErrors"/> property will be notified as well.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.NotifyWarningsChanged(System.String,System.Boolean)">
            <summary>
            Notifies all listeners that the warnings for the specified property have changed. If the
            <paramref name="propertyName"/> is <c>null</c> or <see cref="F:System.String.Empty"/>, the business
            errors will be updated.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="notifyHasWarnings">if set to <c>true</c>, the <see cref="P:Catel.Data.DataObjectBase.HasWarnings"/> property will be notified as well.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetListMessages(System.Collections.Generic.Dictionary{System.String,System.String},System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Gets the list messages.
            </summary>
            <param name="fields">The field warnings or errors.</param>
            <param name="business">The business warnings or errors.</param>
            <returns>String representing the output of all items in the fields an business object.</returns>
            <remarks>
            This method is used to create a message string for field warnings or errors and business warnings
            or errors. Just pass the right dictionary and list to this method.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldWarning``1(System.Linq.Expressions.Expression{System.Func{``0}},System.String,System.Object[])">
            <summary>
            Sets a specific field warning by using an expression.
            <para/>
            This is a type-safe way to set a field warning instead of passing a string literal.
            </summary>
            <typeparam name="TProperty">The type of the object holding the property.</typeparam>
            <param name="propertyExpression">The property expression.</param>
            <param name="warningFormat">The warning format.</param>
            <param name="args">The formatting arguments.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyExpression"/> is <c>null</c>.</exception>
            <example>
            	<![CDATA[
            SetFieldWarning(() => IsDirty, "Property '{0}' has a warning", IsDirtyProperty.Name);
            ]]>
            </example>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldWarning``1(System.Linq.Expressions.Expression{System.Func{``0}},System.String)">
            <summary>
            Sets a specific field warning by using an expression.
            <para/>
            This is a type-safe way to set a field warning instead of passing a string literal.
            </summary>
            <typeparam name="TProperty">The type of the object holding the property.</typeparam>
            <param name="propertyExpression">The property expression.</param>
            <param name="warning">The warning.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyExpression"/> is <c>null</c>.</exception>
            <example>
            	<![CDATA[
            SetFieldWarning(() => IsDirty, "Property has a warning");
            ]]>
            </example>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldWarning(Catel.Data.PropertyData,System.String)">
            <summary>
            Sets a specific field warning.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <param name="warning">Warning message.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldWarning(Catel.Data.PropertyData,System.String,System.Object[])">
            <summary>
            Sets a specific field warning.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <param name="warningFormat">The warning format.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldWarning(System.String,System.String)">
            <summary>
            Sets a specific field warning.
            </summary>
            <param name="property">Name of the property.</param>
            <param name="warning">Warning message.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetBusinessRuleWarning(System.String,System.Object[])">
            <summary>
            Sets a specific business rule warning.
            </summary>
            <param name="warningFormat">The warning format.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetBusinessRuleWarning(System.String)">
            <summary>
            Sets a specific business rule warning.
            </summary>
            <param name="warning">Warning message</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetWarningMessage">
            <summary>
            Returns a message that contains all the current warnings and automatically determines the name of the object.
            </summary>
            <returns>
            Warning string or empty in case of no warnings.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetWarningMessage(System.String)">
            <summary>
            Returns a message that contains all the current warnings.
            </summary>
            <param name="userFriendlyObjectName">Name of the user friendly object.</param>
            <returns>
            Warning string or empty in case of no warnings.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldError(Catel.Data.PropertyData,System.String,System.Object[])">
            <summary>
            Sets a specific field error.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <param name="errorFormat">The error format.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldError(Catel.Data.PropertyData,System.String)">
            <summary>
            Sets a specific field error.
            </summary>
            <param name="property"><see cref="T:Catel.Data.PropertyData"/> of the property.</param>
            <param name="error">Error message.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldError``1(System.Linq.Expressions.Expression{System.Func{``0}},System.String,System.Object[])">
            <summary>
            Sets a specific field error by using an expression.
            <para/>
            This is a type-safe way to set a field error instead of passing a string literal.
            </summary>
            <typeparam name="TProperty">The type of the object holding the property.</typeparam>
            <param name="propertyExpression">The property expression.</param>
            <param name="errorFormat">The error format.</param>
            <param name="args">The formatting arguments.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyExpression"/> is <c>null</c>.</exception>
            <example>
            <![CDATA[
                SetFieldError(() => IsDirty, "Property '{0}' has an error", IsDirtyProperty.Name);
            ]]>
            </example>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldError``1(System.Linq.Expressions.Expression{System.Func{``0}},System.String)">
            <summary>
            Sets a specific field error by using an expression.
            <para/>
            This is a type-safe way to set a field error instead of passing a string literal.
            </summary>
            <typeparam name="TProperty">The type of the object holding the property.</typeparam>
            <param name="propertyExpression">The property expression.</param>
            <param name="error">The error.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyExpression"/> is <c>null</c>.</exception>
            <example>
            <![CDATA[
                SetFieldError(() => IsDirty, "Property has an error");
            ]]>
            </example>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldError(System.String,System.String,System.Object[])">
            <summary>
            Sets a specific field error.
            </summary>
            <param name="property">Name of the property.</param>
            <param name="errorFormat">The error format.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetFieldError(System.String,System.String)">
            <summary>
            Sets a specific field error.
            </summary>
            <param name="property">Name of the property.</param>
            <param name="error">Error message.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetBusinessRuleError(System.String,System.Object[])">
            <summary>
            Sets a specific business rule error.
            </summary>
            <param name="errorFormat">The error format.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.SetBusinessRuleError(System.String)">
            <summary>
            Sets a specific business rule error.
            </summary>
            <param name="error">Error message</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetErrorMessage">
            <summary>
            Returns a message that contains all the current errors and automatically determines the name of the object.
            </summary>
            <returns>
            Error string or empty in case of no errors.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetErrorMessage(System.String)">
            <summary>
            Returns a message that contains all the current errors.
            </summary>
            <param name="userFriendlyObjectName">Name of the user friendly object.</param>
            <returns>
            Error string or empty in case of no errors.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.System#ComponentModel#INotifyDataErrorInfo#GetErrors(System.String)">
            <summary>
            Gets the validation errors for a specified property or for the entire object.
            </summary>
            <param name="propertyName">The name of the property to retrieve validation errors for, or null or <see cref="F:System.String.Empty"/> to retrieve errors for the entire object.</param>
            <returns>
            The validation errors for the property or object.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.System#ComponentModel#INotifyDataWarningInfo#GetWarnings(System.String)">
            <summary>
            Gets the warnings for the specific property name.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <returns><see cref="T:System.Collections.IEnumerable"/> of warnings.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Dispose">
            <summary>
            Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposeManagedResources"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Clone">
            <summary>
            Clones the current object.
            </summary>
            <returns>Clone of the object or <c>null</c> if unsuccessful.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Clone(System.Boolean)">
            <summary>
            Clones the current object with the option to enable redirects.
            </summary>
            <param name="enableRedirects">if set to <c>true</c>, enable supports for redirects.</param>
            <returns>
            Clone of the object or <c>null</c> if unsuccessful.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.BeginEdit">
            <summary>
            Begins an edit on an object.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.CancelEdit">
            <summary>
            Discards changes since the last <see cref="M:System.ComponentModel.IEditableObject.BeginEdit"/> call.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.EndEdit">
            <summary>
            Pushes changes since the last <see cref="M:System.ComponentModel.IEditableObject.BeginEdit"/> call.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.System#Xml#Serialization#IXmlSerializable#GetSchema">
            <summary>
            This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the <see cref="T:System.Xml.Serialization.XmlSchemaProviderAttribute"/> to the class.
            </summary>
            <returns>
            An <see cref="T:System.Xml.Schema.XmlSchema"/> that describes the XML representation of the object that is produced by the <see cref="M:System.Xml.Serialization.IXmlSerializable.WriteXml(System.Xml.XmlWriter)"/> method and consumed by the <see cref="M:System.Xml.Serialization.IXmlSerializable.ReadXml(System.Xml.XmlReader)"/> method.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.System#Xml#Serialization#IXmlSerializable#ReadXml(System.Xml.XmlReader)">
            <summary>
            Generates an object from its XML representation.
            </summary>
            <param name="reader">The <see cref="T:System.Xml.XmlReader"/> stream from which the object is deserialized.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ReadValueFromXmlNode(System.Xml.XmlReader)">
            <summary>
            Reads the value from the XML node.
            </summary>
            <param name="reader">The reader.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="reader"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetObjectFromXmlNode(System.Xml.XmlReader,System.String,System.String)">
            <summary>
            Gets the object from XML node.
            </summary>
            <param name="reader">The reader.</param>
            <param name="propertyName">Name of the property as known in the class.</param>
            <param name="xmlName">Name of the property as known in XML.</param>
            <returns>Object or <c>null</c>.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.System#Xml#Serialization#IXmlSerializable#WriteXml(System.Xml.XmlWriter)">
            <summary>
            Converts an object into its XML representation.
            </summary>
            <param name="writer">The <see cref="T:System.Xml.XmlWriter"/> stream to which the object is serialized.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.MapXmlNameToPropertyName(System.String)">
            <summary>
            Maps the name of the XML element to a property name.
            </summary>
            <param name="xmlName">Name of the XML element.</param>
            <returns>Name of the property that represents the xml value.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.MapPropertyNameToXmlName(System.String)">
            <summary>
            Maps the name of the property name to an XML name.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <returns>Name of the XML element that represents the property value.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.String)">
            <summary>
            Loads the object from a file using binary formatting.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="fileName">Filename of the file that contains the serialized data of this object.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.String,System.Boolean)">
            <summary>
            Loads the object from a file using binary formatting.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="fileName">Filename of the file that contains the serialized data of this object.</param>
            <param name="enableRedirects">if set to <c>true</c>, redirects will be enabled.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
            <remarks>
            When enableRedirects is enabled, loading will take more time. Only set
            the parameter to <c>true</c> when the deserialization without redirects fails.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.String,Catel.Data.SerializationMode)">
            <summary>
            Loads the object from a file using a specific formatting.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="fileName">Filename of the file that contains the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.String,Catel.Data.SerializationMode,System.Boolean)">
            <summary>
            Loads the object from a file using a specific formatting.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="fileName">Filename of the file that contains the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param>
            <param name="enableRedirects">if set to <c>true</c>, redirects will be enabled.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
            <remarks>
            When enableRedirects is enabled, loading will take more time. Only set
            the parameter to <c>true</c> when the deserialization without redirects fails.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.Xml.Linq.XDocument)">
            <summary>
            Loads the object from an XmlDocument object.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="xmlDocument">The XML document.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.Byte[])">
            <summary>
            Loads the object from a stream using binary formatting.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="bytes">The byte array.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.Byte[],System.Boolean)">
            <summary>
            Loads the object from a stream.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="bytes">The byte array.</param>
            <param name="enableRedirects">if set to <c>true</c>, redirects will be enabled.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
            <remarks>
            When enableRedirects is enabled, loading will take more time. Only set
            the parameter to <c>true</c> when the deserialization without redirects fails.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.IO.Stream)">
            <summary>
            Loads the object from a stream using binary formatting.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="stream">Stream that contains the serialized data of this object.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.IO.Stream,System.Boolean)">
            <summary>
            Loads the specified stream.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="stream">The stream.</param>
            <param name="enableRedirects">if set to <c>true</c>, redirects will be enabled.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
            <remarks>
            When enableRedirects is enabled, loading will take more time. Only set
            the parameter to <c>true</c> when the deserialization without redirects fails.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.IO.Stream,Catel.Data.SerializationMode)">
            <summary>
            Loads the object from a stream using a specific formatting.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="stream">Stream that contains the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.Load``1(System.IO.Stream,Catel.Data.SerializationMode,System.Boolean)">
            <summary>
            Loads the object from a stream using a specific formatting.
            </summary>
            <typeparam name="T">Type of the object that should be loaded.</typeparam>
            <param name="stream">Stream that contains the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param>
            <param name="enableRedirects">if set to <c>true</c>, redirects will be enabled.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
            <remarks>
            When enableRedirects is enabled, loading will take more time. Only set
            the parameter to <c>true</c> when the deserialization without redirects fails.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ToJson">
            <summary>
            Converts the current data object to Json.
            </summary>
            <returns>The Json string.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetDataFromSerializationInfo(System.Runtime.Serialization.SerializationInfo)">
            <summary>
            Retrieves the actual data from the serialization info.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to get the data from.</param>
            <remarks>
            This method is called from the OnDeserialized method, thus all child objects
            are serialized and available at the time this method is called.
            <para/>
            Only use this method to support older serialization techniques. When using this class
            for new objects, all serialization is handled automatically.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetDataFromSerializationInfoInternal(System.Runtime.Serialization.SerializationInfo)">
            <summary>
            Retrieves the actual data from the serialization info for the properties registered
            on this object.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to get the data from.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Populates a <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with the data needed to serialize the target object.
            </summary>
            <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> to populate with data.</param>
            <param name="context">The destination (see <see cref="T:System.Runtime.Serialization.StreamingContext"/>) for this serialization.</param>
            <exception cref="T:System.Security.SecurityException">
            The caller does not have the required permission.
            </exception>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
            <summary>
            Invoked when the deserialization of the object graph is complete.
            </summary>
            <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/>..</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.OnDeserialization(System.Object)">
            <summary>
            Invoked when the deserialization of the object graph is complete.
            </summary>
            <param name="sender">The object that has started deserializing.</param>
            <remarks>
            When this method is called from within this object, it is invoked from a
            static method so the sender will be <c>null</c>.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.CallOnDeserializationCallback(System.Object)">
            <summary>
            Calls the <see cref="M:System.Runtime.Serialization.IDeserializationCallback.OnDeserialization(System.Object)"/> method on the object if possible.
            </summary>
            <param name="obj">The object that has finished deserializing.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ConvertDictionaryToListAndExcludeNonSerializableObjects(System.Collections.Generic.Dictionary{System.String,System.Object})">
            <summary>
            Converts a dictionary to a list for serialization purposes.
            </summary>
            <param name="dictionary">Dictionary to convert.</param>
            <returns>List that contains all the values of the dictionary.</returns>
            <remarks>
            This method is required because Dictionary can't be serialized.
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ConvertKeyValuePairsToPropertyValues(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.Object}})">
            <summary>
            Converts a list of <see cref="T:System.Collections.Generic.KeyValuePair`2"/> objects to a list of <see cref="T:Catel.Data.PropertyValue"/> objects.
            <para/>
            This method is intended to provide backwards compatibility for older objects that are serialized using KeyValuePair instead
            of PropertyValue.
            </summary>
            <param name="list">The list.</param>
            <returns><see cref="T:System.Collections.Generic.IEnumerable`1"/> of property values.</returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ConvertListToDictionary(System.Collections.Generic.IEnumerable{Catel.Data.PropertyValue})">
            <summary>
            Converts a list to a dictionary for serialization purposes.
            </summary>
            <param name="list">List to convert.</param>
            <returns>
            Dictionary that contains all the values of the list.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ConvertListToDictionary``1(System.Collections.Generic.IEnumerable{Catel.Data.PropertyValue})">
            <summary>
            Converts a list to a dictionary for serialization purposes.
            </summary>
            <typeparam name="T">The type of the object.</typeparam>
            <param name="list">List to convert.</param>
            <returns>
            Dictionary that contains all the values of the list.
            </returns>
        </member>
        <member name="M:Catel.Data.DataObjectBase.ConvertListToDictionary(System.Type,System.Collections.Generic.IEnumerable{Catel.Data.PropertyValue})">
            <summary>
            Converts a list to a dictionary for serialization purposes.
            </summary>
            <param name="type">The type of the object.</param>
            <param name="list">List to convert.</param>
            <returns>
            Dictionary that contains all the values of the list.
            </returns>
        </member>
        <member name="E:Catel.Data.DataObjectBase.Validating">
            <summary>
            Occurs when the object is validating.
            </summary>
        </member>
        <member name="E:Catel.Data.DataObjectBase.ValidatingFields">
            <summary>
            Occurs when the object is about the validate the fields.
            </summary>
        </member>
        <member name="E:Catel.Data.DataObjectBase.ValidatedFields">
            <summary>
            Occurs when the object has validated the fields.
            </summary>
        </member>
        <member name="E:Catel.Data.DataObjectBase.ValidatingBusinessRules">
            <summary>
            Occurs when the object is about the validate the business rules.
            </summary>
        </member>
        <member name="E:Catel.Data.DataObjectBase.ValidatedBusinessRules">
            <summary>
            Occurs when the object has validated the business rules.
            </summary>
        </member>
        <member name="E:Catel.Data.DataObjectBase.Validated">
            <summary>
            Occurs when the object is validated.
            </summary>
        </member>
        <member name="E:Catel.Data.DataObjectBase.Initialized">
            <summary>
            Occurs when the object is initialized.
            </summary>
        </member>
        <member name="E:Catel.Data.DataObjectBase.Uninitialized">
            <summary>
            Occurs when the object is uninitialized.
            </summary>
        </member>
        <member name="E:Catel.Data.DataObjectBase.Deserialized">
            <summary>
            Occurs when the object is deserialized.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.PropertyDataManager">
            <summary>
            Gets the property data manager that manages the properties of this object.
            </summary>
            <value>The property data manager.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.SubscribedToEvents">
            <summary>
            Gets or sets a value indicating whether this object is subscribed to all childs.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsInitializing">
            <summary>
            Gets a value indicating whether this object is currently initializing.
            </summary>
            <value>
            	<c>true</c> if this object is currently initializing; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsInitialized">
            <summary>
            Gets a value indicating whether this object is initialized.
            </summary>
            <value>
            	<c>true</c> if this object is initialized; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsDeserializedDataAvailable">
            <summary>
            Gets or sets a value indicating whether the deserialized data is available, which means that
            OnDeserialized is invoked.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsDeserialized">
            <summary>
            Gets or sets a value indicating whether the object is fully deserialized.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsValidating">
            <summary>
            Gets a value indicating whether the object is currently validating. During validation, no validation will be invoked.
            </summary>
            <value>
            	<c>true</c> if the object is validating; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsValidated">
            <summary>
            Gets or sets a value indicating whether this object is validated or not.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsDisposed">
            <summary>
            Gets or sets a value indicating whether this instance is disposed.
            </summary>
            <value>
            	<c>true</c> if this instance is disposed; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.ContainsNonSerializableMembers">
            <summary>
            Gets a value indicating whether this instance contains non-serializable members.
            </summary>
            <value>
            	<c>true</c> if this instance contains non-serializable members; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.AlwaysInvokeNotifyChanged">
            <summary>
            Gets or sets a value indicating whether this object should always invoke the <see cref="E:Catel.Data.ObservableObject.PropertyChanged"/> event,
            even when the actual value of a property has not changed.
            <para/>
            Enabling this property is useful when using this class in a WPF environment.
            </summary>
            <remarks>
            By default, this property is <c>false</c>.
            </remarks>
        </member>
        <member name="P:Catel.Data.DataObjectBase.HandlePropertyAndCollectionChanges">
            <summary>
            Gets or sets a value indicating whether this object should handle (thus invoke the specific events) when
            a property of collection value has changed.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.SuspendValidation">
            <summary>
            Gets or sets a value indicating whether the validation should be suspended. A call to <see cref="M:Catel.Data.DataObjectBase.Validate"/> will be returned immediately.
            </summary>
            <value><c>true</c> if validation should be suspended; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.TypesNotToDispose">
            <summary>
            Gets the collection of type names that should be disposed automatically.
            </summary>
            <value>The names of the types not to dispose.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.AutomaticallyDisposeChildObjectsOnDispose">
            <summary>
            Gets or sets a value indicating whether child objects that implement the <see cref="T:System.IDisposable"/> interface are
            disposed automatically when this object is being disposed.
            </summary>
            <value>
            	<c>true</c> if child objects that implement the <see cref="T:System.IDisposable"/> interface are disposed automatically 
                when this object is being disposed; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.AutomaticallyValidateOnPropertyChanged">
            <summary>
            Gets or sets a value indicating whether this object should automatically validate itself when a property value
            has changed.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.Catel#Data#IParent#Parent">
            <summary>
            Gets the parent.
            </summary>
            <value>The parent.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.KeyName">
            <summary>
            Gets the name of the object. By default, this is the hash code of all the properties combined.
            </summary>
            <value>The name of the key.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.Mode">
            <summary>
            Gets the <see cref="T:Catel.Data.SerializationMode"/> of this object.
            </summary>
            <value>The serialization mode.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsInEditSession">
            <summary>
            Gets a value indicating whether the object is currently in an edit session, started by the <see cref="M:Catel.Data.DataObjectBase.BeginEdit"/> method.
            </summary>
            <value>
            	<c>true</c> if this instance is currently in an edit session; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsDirty">
            <summary>
            Gets or sets a value indicating whether this object is dirty (contains unsaved data).
            </summary>
            <value><c>true</c> if this instance is dirty; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsReadOnly">
            <summary>
            Gets or sets a value indicating whether this object is currently read-only. When the object is read-only, values can only be read, not set.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.IsEditable">
            <summary>
            Gets a value indicating whether this object is editable. This is the opposite of the <see cref="P:Catel.Data.DataObjectBase.IsReadOnly"/> property.
            </summary>
            <value><c>true</c> if this object is editable; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.FieldWarningCount">
            <summary>
            Gets the number of field warnings.
            </summary>
            <value>The field warning count.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.BusinessRuleWarningCount">
            <summary>
            Gets the number of business rule warnings.
            </summary>
            <value>The business rule warning count.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.FieldErrorCount">
            <summary>
            Gets the number of field errors.
            </summary>
            <value>The field error count.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.BusinessRuleErrorCount">
            <summary>
            Gets the number of business rule errors.
            </summary>
            <value>The business rule error count.</value>
        </member>
        <member name="P:Catel.Data.DataObjectBase.DeserializationSucceeded">
            <summary>
            Gets a value indicating whether the deserialization has succeeded. If automatic deserialization fails, the object
            should try to deserialize manually.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.System#ComponentModel#IDataWarningInfo#Warning">
            <summary>
            Gets the current warning.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.System#ComponentModel#IDataWarningInfo#Item(System.String)">
            <summary>
            Gets a warning for a specific column.
            </summary>
            <param name="columnName">Column name.</param>
            <returns>Warning.</returns>
        </member>
        <member name="P:Catel.Data.DataObjectBase.System#ComponentModel#IDataErrorInfo#Error">
            <summary>
            Gets the current error.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.System#ComponentModel#IDataErrorInfo#Item(System.String)">
            <summary>
            Gets an error for a specific column.
            </summary>
            <param name="columnName">Column name.</param>
            <returns>Error.</returns>
        </member>
        <member name="P:Catel.Data.DataObjectBase.HasErrors">
            <summary>
            Gets a value indicating whether this object contains any field or business errors.
            </summary>
            <value>
            	<c>true</c> if this instance has errors; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="E:Catel.Data.DataObjectBase.ErrorsChanged">
            <summary>
            Occurs when the validation errors have changed for a property or for the entire object.
            </summary>
        </member>
        <member name="P:Catel.Data.DataObjectBase.HasWarnings">
            <summary>
            Gets a value indicating whether this object contains any field or business warnings.
            </summary>
            <value>
            	<c>true</c> if this instance has warnings; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="E:Catel.Data.DataObjectBase.WarningsChanged">
            <summary>
            Occurs when the warnings have changed.
            </summary>
        </member>
        <member name="T:Catel.Data.DataObjectBase.BackupData">
            <summary>
            Class containing backup information.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase.BackupData.IsDirty">
            <summary>
            The name of the <see cref="P:Catel.Data.DataObjectBase.IsDirty"/> property.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase.BackupData._object">
            <summary>
            The <see cref="T:Catel.Data.DataObjectBase"/> object that this backup is created for.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase.BackupData._propertyValuesBackup">
            <summary>
            Backup of the property values.
            </summary>
        </member>
        <member name="F:Catel.Data.DataObjectBase.BackupData._objectValuesBackup">
            <summary>
            Backup of the object values.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.BackupData.#ctor(Catel.Data.DataObjectBase)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.DataObjectBase.BackupData"/> class.
            </summary>
            <param name="obj">Object to backup.</param>
        </member>
        <member name="M:Catel.Data.DataObjectBase.BackupData.CreateBackup">
            <summary>
            Creates a backup of the object property values.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase.BackupData.RestoreBackup">
            <summary>
            Restores the backup to the object.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.DataObjectBase`1"/> class.
            </summary>
        </member>
        <member name="M:Catel.Data.DataObjectBase`1.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.DataObjectBase`1"/> class.
            </summary>
            <para/>
            Only constructor for the DataObjectBase.
            <param name="info">SerializationInfo object, null if this is the first time construction.</param>
            <param name="context">StreamingContext object, simple pass a default new StreamingContext() if this is the first time construction.</param>
            <remarks>
            Call this method, even when constructing the object for the first time (thus not deserializing).
            </remarks>
        </member>
        <member name="M:Catel.Data.DataObjectBase`1.Equals(`0)">
            <summary>
            Checks whether this object equals another object of the same type.
            </summary>
            <param name="other">The other object.</param>
            <returns><c>true</c> if the objects are equal; otherwise <c>false</c></returns>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.SavableDataObjectBase`1"/> class.
            </summary>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.SavableDataObjectBase`1"/> class.
            </summary>
            <param name="info">SerializationInfo object, null if this is the first time construction.</param>
            <param name="context">StreamingContext object, simple pass a default new StreamingContext() if this is the first time construction.</param>
            <remarks>
            Call this method, even when constructing the object for the first time (thus not deserializing).
            </remarks>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.ToXml">
            <summary>
            Serializes the object to and xml object.
            </summary>
            <returns><see cref="T:System.Xml.Linq.XDocument"/> containing the serialized data.</returns>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.ToByteArray">
            <summary>
            Serializes the object to a byte array.
            </summary>
            <returns>Byte array containing the serialized data.</returns>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Save(System.String)">
            <summary>
            Saves the object to a file using the default formatting.
            </summary>
            <param name="fileName">Filename of the file that will contain the serialized data of this object.</param>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Save(System.String,Catel.Data.SerializationMode)">
            <summary>
            Saves the object to a file using a specific formatting.
            </summary>
            <param name="fileName">Filename of the file that will contain the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Save(System.IO.Stream)">
            <summary>
            Saves the object to a stream using the default formatting.
            </summary>
            <param name="stream">Stream that will contain the serialized data of this object.</param>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Save(System.IO.Stream,Catel.Data.SerializationMode)">
            <summary>
            Saves the object to a stream using a specific formatting.
            </summary>
            <param name="stream">Stream that will contain the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.String)">
            <summary>
            Loads the object from a file using binary formatting.
            </summary>
            <param name="fileName">Filename of the file that contains the serialized data of this object.</param>
            <returns>Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.</returns>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.String,System.Boolean)">
            <summary>
            Loads the object from a file using binary formatting.
            </summary>
            <param name="fileName">Filename of the file that contains the serialized data of this object.</param>
            <param name="enableRedirects">if set to <c>true</c>, redirects will be enabled.</param>
            <returns>Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.</returns>
            <remarks>
            When enableRedirects is enabled, loading will take more time. Only set
            the parameter to <c>true</c> when the deserialization without redirects fails.
            </remarks>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.String,Catel.Data.SerializationMode)">
            <summary>
            Loads the object from a file using a specific formatting.
            </summary>
            <param name="fileName">Filename of the file that contains the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param>
            <returns>Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.</returns>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.String,Catel.Data.SerializationMode,System.Boolean)">
            <summary>
            Loads the object from a file using a specific formatting.
            </summary>
            <param name="fileName">Filename of the file that contains the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param>
            <param name="enableRedirects">if set to <c>true</c>, redirects will be enabled.</param>
            <returns>Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.</returns>
            <remarks>
            When enableRedirects is enabled, loading will take more time. Only set
            the parameter to <c>true</c> when the deserialization without redirects fails.
            </remarks>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.Xml.Linq.XDocument)">
            <summary>
            Loads the object from an XmlDocument object.
            </summary>
            <param name="xmlDocument">The XML document.</param>
            <returns>Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.</returns>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.Byte[])">
            <summary>
            Loads the object from a stream using binary formatting.
            </summary>
            <param name="bytes">The byte array.</param>
            <returns>Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.</returns>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.Byte[],System.Boolean)">
            <summary>
            Loads the object from a stream.
            </summary>
            <param name="bytes">The byte array.</param>
            <param name="enableRedirects">if set to <c>true</c>, redirects will be enabled.</param>
            <returns>
            Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.
            </returns>
            <remarks>
            When enableRedirects is enabled, loading will take more time. Only set
            the parameter to <c>true</c> when the deserialization without redirects fails.
            </remarks>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.IO.Stream)">
            <summary>
            Loads the object from a stream using binary formatting.
            </summary>
            <param name="stream">Stream that contains the serialized data of this object.</param>
            <returns>Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.</returns>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.IO.Stream,System.Boolean)">
            <summary>
            Loads the specified stream.
            </summary>
            <param name="stream">The stream.</param>
            <param name="enableRedirects">if set to <c>true</c>, redirects will be enabled.</param>
            <returns>Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.</returns>
            <remarks>
            When enableRedirects is enabled, loading will take more time. Only set
            the parameter to <c>true</c> when the deserialization without redirects fails.
            </remarks>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.IO.Stream,Catel.Data.SerializationMode)">
            <summary>
            Loads the object from a stream using a specific formatting.
            </summary>
            <param name="stream">Stream that contains the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param> 
            <returns>Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.</returns>
        </member>
        <member name="M:Catel.Data.SavableDataObjectBase`1.Load(System.IO.Stream,Catel.Data.SerializationMode,System.Boolean)">
            <summary>
            Loads the object from a stream using a specific formatting.
            </summary>
            <param name="stream">Stream that contains the serialized data of this object.</param>
            <param name="mode"><see cref="T:Catel.Data.SerializationMode"/> to use.</param> 
            <param name="enableRedirects">if set to <c>true</c>, redirects will be enabled.</param>
            <returns>Deserialized instance of the object. If the deserialization fails, <c>null</c> is returned.</returns>
            <remarks>
            When enableRedirects is enabled, loading will take more time. Only set
            the parameter to <c>true</c> when the deserialization without redirects fails.
            </remarks>
        </member>
        <member name="P:Catel.Data.SavableDataObjectBase`1.Bytes">
            <summary>
            Gets the bytes of the current binary serialized data object.
            </summary>
            <value>The bytes.</value>
        </member>
        <member name="T:Catel.MVVM.ViewModelManager">
            <summary>
            Manager for view models. Thanks to this manager, it is possible to subscribe to other view models and be able to respond
            correctly to property changes in other views.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelManager.Log">
            <summary>
            The <see cref="T:Catel.Logging.ILog">log</see> object.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelManager._instances">
            <summary>
            List of all live instances of the view model managers.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelManager._managedViewModels">
            <summary>
            Dictionary containing all the managed view models by this view model manager.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelManager"/> class.
            </summary>
            <remarks>
            The constructor is private because this is a singleton class.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.ClearAll">
            <summary>
            Clears all the current view model managers.
            </summary>
            <remarks>
            This method should only be called during unit testing.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.Clear">
            <summary>
            Clears all the view models in the manager.
            </summary>
            <remarks>
            This method should only be called during unit testing.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.RegisterViewModelInstance(Catel.MVVM.IViewModel)">
            <summary>
            Registers a view model instance with the manager. All view models must register themselves to the manager.
            </summary>
            <param name="viewModel">The view model to register.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.RegisterViewModelInstanceInternal(Catel.MVVM.IViewModel)">
            <summary>
            Registers a view model instance with the manager. All view models must register themselves to the manager.
            </summary>
            <param name="viewModel">The view model to register.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.UnregisterViewModelInstance(Catel.MVVM.IViewModel)">
            <summary>
            Unregisters a view model instance from the manager. All view models must unregister themselves from the manager.
            </summary>
            <param name="viewModel">The view model to unregister.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.UnregisterViewModelInstanceInternal(Catel.MVVM.IViewModel)">
            <summary>
            Unregisters a view model instance from the manager. All view models must unregister themselves from the manager.
            </summary>
            <param name="viewModel">The view model to unregister.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.AddInterestedViewModelInstance(System.Type,Catel.MVVM.IViewModel)">
            <summary>
            Adds an interested view model instance. The <see cref="T:Catel.MVVM.IViewModel"/> class will automatically register
            itself to the manager by using this method when decorated with the <see cref="T:Catel.MVVM.InterestedInAttribute"/>.
            </summary>
            <param name="viewModelType">Type of the view model the <paramref name="viewModel"/> is interested in.</param>
            <param name="viewModel">The view model instance.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModelType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.AddInterestedViewModelInstanceInternal(System.Type,Catel.MVVM.IViewModel)">
            <summary>
            Adds an interested view model instance. The <see cref="T:Catel.MVVM.IViewModel"/> class will automatically register
            itself to the manager by using this method when decorated with the <see cref="T:Catel.MVVM.InterestedInAttribute"/>.
            </summary>
            <param name="viewModelType">Type of the view model the <paramref name="viewModel"/> is interested in.</param>
            <param name="viewModel">The view model instance.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModelType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.RemoveInterestedViewModelInstance(System.Type,Catel.MVVM.IViewModel)">
            <summary>
            Removes an interested view model instance. The <see cref="T:Catel.MVVM.IViewModel"/> class will automatically unregister
            itself from the manager by using this method when decorated with the <see cref="T:Catel.MVVM.InterestedInAttribute"/>.
            </summary>
            <param name="viewModelType">Type of the view model the <paramref name="viewModel"/> was interested in.</param>
            <param name="viewModel">The view model instance.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModelType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.RemoveInterestedViewModelInstanceInternal(System.Type,Catel.MVVM.IViewModel)">
            <summary>
            Removes an interested view model instance. The <see cref="T:Catel.MVVM.IViewModel"/> class will automatically unregister
            itself from the manager by using this method when decorated with the <see cref="T:Catel.MVVM.InterestedInAttribute"/>.
            </summary>
            <param name="viewModelType">Type of the view model the <paramref name="viewModel"/> was interested in.</param>
            <param name="viewModel">The view model instance.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModelType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelManager.GetManagedViewModel(System.Type)">
            <summary>
            Gets the managed view model for a specific view model type.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
            <returns>The <see cref="T:Catel.MVVM.ManagedViewModel"/> of the specified type.</returns>
        </member>
        <member name="T:Catel.MVVM.Services.NamingConvention">
            <summary>
            Class that is able to resolve naming conventions.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.NamingConvention.ViewModelName">
            <summary>
            The view model name constant that will be replaced by the naming convention. This constant will be
            replaced by the view model name without the "ViewModel" prefix.
            <para />
            For example, the following naming convention:
              <c>[AS].UI.Views.[VM]View</c>
            
            will result in the following view for <c>ExampleViewModel</c>:
              <c>MyAssembly.UI.Views.ExampleView.xaml</c>
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.NamingConvention.Assembly">
            <summary>
            The assembly constant that will be replaced by the naming convention. This constant will be
            replaced by the assembly name.
            <para />
            For example, the following naming convention:
              <c>[AS].UI.Views.[VM]View</c>
            
            will result in the following view for <c>ExampleViewModel</c>:
              <c>MyAssembly.UI.Views.ExampleView.xaml</c>
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.NamingConvention.ResolveByViewModelName(System.String,System.String,System.String)">
            <summary>
            Resolves the convention by using the view model name.
            <para/>
            This method does not add assemblies or resolve types, but will only return a string containing the resolved
            value based on the convention.
            <para/>
            The following constants can be used in this method:
            * <see cref="F:Catel.MVVM.Services.NamingConvention.ViewModelName"/>
            </summary>
            <param name="assembly">The assembly which is the base namespace.</param>
            <param name="viewModelName">Class name of the view model. This parameter must only contain the type name, not the full
            type. For example <c>ExampleViewModel</c>.</param>
            <param name="conventionToUse">The convention to use.</param>
            <returns>The resolved convention.</returns>
            <exception cref="T:System.ArgumentException">If <paramref name="assembly"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">If <paramref name="viewModelName"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">If <paramref name="conventionToUse"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.NamingConvention.ResolveNamingConvention(System.Collections.Generic.Dictionary{System.String,System.String},System.String)">
            <summary>
            Resolves the naming convention.
            </summary>
            <param name="constantsWithValues">
            The constants with values. The <c>Key</c> must be the constant as it will be used inside the convention. The
            <c>Value</c> is the value the constant must be replaced with.
            </param>
            <param name="conventionToUse">The convention to use.</param>
            <returns>The resolved convention.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="constantsWithValues"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">If <paramref name="conventionToUse"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="T:Catel.MVVM.Services.ICompassService">
            <summary>
            Interface for retrieving the compass information.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.FlashMode">
            <summary>
            Defines the operating mode of the camera flash.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.FlashMode.On">
            <summary>
            The camera flash is enabled.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.FlashMode.Off">
            <summary>
            The camera flash is disabled.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.FlashMode.Auto">
            <summary>
            The camera flash is in auto mode.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.FlashMode.RedEyeReduction">
            <summary>
            The camera flash is in red-eye reduction mode.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.CameraType">
            <summary>
            Specifies the general location of the camera on the device.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.CameraType.Primary">
            <summary>
            The camera is located on the back of the device.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.CameraType.FrontFacing">
            <summary>
            The camera is located on the front of the device.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.ICameraService">
            <summary>
            Interface for retrieving the camera information.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.Start">
            <summary>
            Starts the camera service so it's retrieving data.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.Start(Catel.MVVM.Services.CameraType)">
            <summary>
            Starts the camera service for a specific camera type so it's retrieving data.
            </summary>
            <param name="cameraType">Type of the camera.</param>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.Stop">
            <summary>
            Stops the camera service so it's no longer retrieving data.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.Focus">
            <summary>
            Starts a camera auto focus operation.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.FocusAtPoint(System.Double,System.Double)">
            <summary>
            Starts a camera auto focus operation on a specific point in the viewfinder, for those devices that support it.
            </summary>
            <param name="x">The horizontal location in the viewfinder; a value between 0 (left) and 1.0 (right).</param>
            <param name="y">The vertical location in the viewfinder; a value between 0 (top) and 1.0 (bottom).</param>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.CancelFocus">
            <summary>
            Cancels the current camera auto focus operation.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.CaptureImage">
            <summary>
            Initiates a full-resolution capture of the current image displayed in the viewfinder
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.IsCameraTypeSupported(Catel.MVVM.Services.CameraType)">
            <summary>
            Determines whether a particular camera type is supported on the device.
            </summary>
            <param name="type">The type.</param>
            <returns>
            	<c>true</c> if the specified camera type is supported; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.IsFlashModeSupported(Catel.MVVM.Services.FlashMode)">
            <summary>
            Determines whether a particular flash mode is supported on the device.
            </summary>
            <param name="mode">The mode.</param>
            <returns>
            	<c>true</c> if the specified flash mode is supported; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.GetPreviewBufferArgb32(System.Int32[])">
            <summary>
            Copies the current viewfinder ARGB frame into a buffer for further manipulation.
            </summary>
            <param name="pixelData">The ARGB pixel data.</param>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.GetPreviewBufferY(System.Byte[])">
            <summary>
            Copies the luminance data for the current viewfinder frame into a buffer for further manipulation.
            </summary>
            <param name="pixelData">The YCrCb pixel data.</param>
        </member>
        <member name="M:Catel.MVVM.Services.ICameraService.GetPreviewBufferYCbCr(System.Byte[])">
            <summary>
            Copies the current viewfinder frame into a buffer for further manipulation.
            </summary>
            <param name="pixelData">The pixel data.</param>
        </member>
        <member name="P:Catel.MVVM.Services.ICameraService.AvailableResolutions">
            <summary>
            Gets the available resolutions.
            </summary>
            <value>The available resolutions.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ICameraService.FlashMode">
            <summary>
            Gets or sets the flash mode. Unsupported flash modes silently default to <see cref="F:Catel.MVVM.Services.FlashMode.Off"/>.
            </summary>
            <value>The flash mode.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ICameraService.CameraType">
            <summary>
            Gets the type of the camera.
            </summary>
            <value>The type of the camera.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ICameraService.IsFocusAtPointSupported">
            <summary>
            Gets a value indicating whether the camera can programmatically auto focus on a specific point in the viewfinder.
            </summary>
            <value>
            	<c>true</c> if the camera can programmatically auto focus on a specific point in the viewfinder; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.MVVM.Services.ICameraService.IsFocusSupported">
            <summary>
            Gets a value indicating whether the camera can be auto-focused programmatically.
            </summary>
            <value>
            	<c>true</c> if the camera can be auto-focused programmatically; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.MVVM.Services.ICameraService.Orientation">
            <summary>
            Gets the number of degrees that the viewfind brush needs to be rotated clockwise to align with the camera sensor.
            </summary>
            <value>The number of degrees that the viewfinder brush needs to be rotated clockwise to align with the camera sensor.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ICameraService.PreviewResolution">
            <summary>
            Gets the preview resolution of the images.
            </summary>
            <value>The preview resolution.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ICameraService.Resolution">
            <summary>
            Gets or sets the resolution of the actual images.
            </summary>
            <value>The resolution.</value>
        </member>
        <member name="E:Catel.MVVM.Services.ICameraService.Initialized">
            <summary>
            Occurs when the camera has been initialized.
            </summary>
        </member>
        <member name="E:Catel.MVVM.Services.ICameraService.AutoFocusCompleted">
            <summary>
            Occurs when the focus operation is completed.
            </summary>
        </member>
        <member name="E:Catel.MVVM.Services.ICameraService.CaptureStarted">
            <summary>
            Occurs when the capture sequence has started.
            </summary>
        </member>
        <member name="E:Catel.MVVM.Services.ICameraService.CaptureThumbnailAvailable">
            <summary>
            Occurs when a thumbnail image is available.
            </summary>
        </member>
        <member name="E:Catel.MVVM.Services.ICameraService.CaptureImageAvailable">
            <summary>
            Occurs when an image is available.
            </summary>
        </member>
        <member name="E:Catel.MVVM.Services.ICameraService.CaptureCompleted">
            <summary>
            Occurs when the capture sequence is complete.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.LocationChangedEventArgs">
            <summary>
            <see cref="T:System.EventArgs"/> implementation which contains a location.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.LocationChangedEventArgs.#ctor(Catel.MVVM.Services.ILocation)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.Services.LocationChangedEventArgs"/> class.
            </summary>
            <param name="newLocation">The new location.</param>
        </member>
        <member name="P:Catel.MVVM.Services.LocationChangedEventArgs.Location">
            <summary>
            Gets the new location.
            </summary>
            <value>The new location.</value>
        </member>
        <member name="T:Catel.MVVM.InvalidViewModelException">
            <summary>
            Exception in case there is an invalid view model.
            </summary>
        </member>
        <member name="M:Catel.MVVM.InvalidViewModelException.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.InvalidViewModelException"/> class.
            </summary>
        </member>
        <member name="T:Catel.MVVM.ICommandAuthenticationProvider">
            <summary>
            Interface to allow an authentication mechanism to control the CanExecute state of a command.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ICommandAuthenticationProvider.CanCommandBeExecuted(Catel.MVVM.ICatelCommand,System.Object)">
            <summary>
            Determines whether the specified <paramref name="command"/> can be executed. The class implementing this interface
            can use any required method to check the command.
            <para/>
            It is recommended to use the <see cref="P:Catel.MVVM.ICatelCommand.Tag"/> property to identify a command.
            </summary>
            <param name="command">The command that is requested.</param>
            <param name="commandParameter">The command parameter.</param>
            <returns>
            	<c>true</c> if this instance [can command be executed] the specified command; otherwise, <c>false</c>.
            </returns>
            <remarks>
            The <c>CanExecute</c> state of a command is queried a lot. The command itself does not cache any results because
            it is not aware of role or identity changes. If caching is required, this must be implemented in the class implementing
            the <see cref="T:Catel.MVVM.ICommandAuthenticationProvider"/> interface.
            </remarks>
        </member>
        <member name="T:Catel.Data.PropertyNotNullableException">
            <summary>
            Exception when a property value is set to null but when the type does not support
            null values.
            </summary>
        </member>
        <member name="M:Catel.Data.PropertyNotNullableException.#ctor(System.String,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.PropertyNotNullableException"/> class.
            </summary>
            <param name="propertyName">Name of the property that caused the exception.</param>
            <param name="propertyType">Type of the object that is trying to register the property.</param>
        </member>
        <member name="P:Catel.Data.PropertyNotNullableException.PropertyName">
            <summary>
            Gets or sets the property name.
            </summary>
            <value>The property name.</value>
        </member>
        <member name="P:Catel.Data.PropertyNotNullableException.PropertyType">
            <summary>
            Gets or sets the property type for which the property is already registered.
            </summary>
            <value>The property type for which the property is already registered.</value>
        </member>
        <member name="T:Catel.Runtime.Serialization.RedirectTypeAttribute">
            <summary>
            Attribute that can be used to redirect types to other types to be able to rename / move property types.
            </summary>
            <remarks>
            This attribute should be appended to the property definition.
            <para/>
            In case this attribute is used on a field or property, the <see cref="P:Catel.Runtime.Serialization.RedirectTypeAttribute.NewAssemblyName"/> and 
            <see cref="P:Catel.Runtime.Serialization.RedirectTypeAttribute.NewTypeName"/> are mandatory. In all other cases, the type and assembly will be
            loaded automatically.
            </remarks>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectTypeAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Runtime.Serialization.RedirectTypeAttribute"/> class.
            </summary>
            <param name="originalAssemblyName">Original assembly location..</param>
            <param name="originalTypeName">Original type name.</param>
        </member>
        <member name="P:Catel.Runtime.Serialization.RedirectTypeAttribute.OriginalAssemblyName">
            <summary>
            Gets the original assembly name.
            </summary>
        </member>
        <member name="P:Catel.Runtime.Serialization.RedirectTypeAttribute.NewAssemblyName">
            <summary>
            Gets or sets the new assembly name.
            </summary>
            <remarks>
            Leave empty if the assembly name is unchanged.
            </remarks>
        </member>
        <member name="P:Catel.Runtime.Serialization.RedirectTypeAttribute.OriginalTypeName">
            <summary>
            Gets the original type name.
            </summary>
            <remarks>
            List or Array types should be postfixed with a [[]].
            </remarks>
        </member>
        <member name="P:Catel.Runtime.Serialization.RedirectTypeAttribute.NewTypeName">
            <summary>
            Gets or sets the new type name.
            </summary>
            <remarks>
            Leave empty if the type name is unchanged.
            <para />
            List or Array types should be postfixed with a [[]].
            </remarks>
        </member>
        <member name="P:Catel.Runtime.Serialization.RedirectTypeAttribute.OriginalType">
            <summary>
            Gets the original type.
            </summary>
        </member>
        <member name="P:Catel.Runtime.Serialization.RedirectTypeAttribute.TypeToLoad">
            <summary>
            Gets the new type that should be loaded.
            </summary>
        </member>
        <member name="T:Catel.MVVM.InterestedInAttribute">
            <summary>
            Attribute to decorate view models with. When a view model is decorated with this attribute, it will automatically
            receive property change notifications for the view models.
            </summary>
        </member>
        <member name="M:Catel.MVVM.InterestedInAttribute.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.InterestedInAttribute"/> class.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModelType"/> is <c>null</c>.</exception>
        </member>
        <member name="P:Catel.MVVM.InterestedInAttribute.ViewModelType">
            <summary>
            Gets the type of the view model.
            </summary>
            <value>The type of the view model.</value>
        </member>
        <member name="T:Catel.MVVM.ExposeAttribute">
            <summary>
              Attribute to define a property available on a model property that is decorated with
              the <see cref="T:Catel.MVVM.ModelAttribute"/> as well.
              <para/>
              <example>
                <code>
                  [Model]
                  [Expose("FirstName")]
                  [Expose("MiddleName")]
                  [Expose("LastName")]
                  public Person Person { get ;set; }
                </code>
              </example>
            </summary>
        </member>
        <member name="M:Catel.MVVM.ExposeAttribute.#ctor(System.String)">
            <summary>
              Initializes a new instance of the <see cref="T:Catel.MVVM.ExposeAttribute"/> class.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="propertyName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="P:Catel.MVVM.ExposeAttribute.PropertyName">
            <summary>
              Gets the name of the property that should be automatically created.
            </summary>
            <value>The name of the property.</value>
        </member>
        <member name="P:Catel.MVVM.ExposeAttribute.PropertyNameOnModel">
            <summary>
              Gets or sets the name of the property on the model. If the <see cref="P:Catel.MVVM.ExposeAttribute.PropertyName"/> is not the
              same as the name of the property on the model, this can be used to map the properties.
              <para/>
              By default, the value is the same as the <see cref="P:Catel.MVVM.ExposeAttribute.PropertyName"/>.
              <example>
                In this example, the name of the property to map on the model is <c>first_name</c>, but
                it must be available as <c>FirstName</c> on the view model.
                <code>
                  [Model]
                  [Expose("FirstName", "first_name")]
                  public Person Person { get; set; }
                </code>
              </example>
            </summary>
            <value>The property name on model.</value>
        </member>
        <member name="P:Catel.MVVM.ExposeAttribute.IsReadOnly">
            <summary>
            Gets or sets a value indicating whether the exposed property is read-only.
            <para />
            The default value is <c>false</c>.
            </summary>
            <value>
            	<c>true</c> if the exposed is read-only; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Catel.MVVM.Services.ILocationService">
            <summary>
            Interface that supports retrieving the current location.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.ILocationService.GetCurrentLocation">
            <summary>
            Gets the current location.
            </summary>
            <returns>
            The current location represented as <see cref="T:Catel.MVVM.Services.ILocation"/>. If no location is available, <c>null</c> will be returned.
            </returns>
        </member>
        <member name="M:Catel.MVVM.Services.ILocationService.Start">
            <summary>
            Starts the location service so it's retrieving data.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.ILocationService.Stop">
            <summary>
            Stops the location service so it's no longer retrieving data.
            </summary>
        </member>
        <member name="E:Catel.MVVM.Services.ILocationService.LocationChanged">
            <summary>
            Occurs when the current location has changed.
            </summary>
        </member>
        <member name="P:Catel.MVVM.Services.ILocationService.CurrentLocation">
            <summary>
            Gets the current location represented as <see cref="T:Catel.MVVM.Services.ILocation"/>. If no location is available, <c>null</c> will be returned.
            </summary>
            <value>The current location.</value>
            <remarks>
            This is convenience property that internally calls <see cref="M:Catel.MVVM.Services.ILocationService.GetCurrentLocation"/>.
            <para/>
            Note that the services inside Catel do not support <see cref="T:System.ComponentModel.INotifyPropertyChanged"/>, thus you cannot 
            subscribe to changes of this property. Instead, subscribe to the <see cref="E:Catel.MVVM.Services.ILocationService.LocationChanged"/> event.
            </remarks>
        </member>
        <member name="T:Catel.MVVM.Services.UICompletedEventArgs">
            <summary>
            This is the EventArgs return value for the IUIVisualizer.Show completed event.
            </summary>
            <remarks>
            This implementation is based on the implementation that can be found in Cinch 
            (see http://www.codeproject.com/KB/WPF/CinchIII.aspx#PopServ). 
            </remarks>
        </member>
        <member name="M:Catel.MVVM.Services.UICompletedEventArgs.#ctor(System.Object,System.Nullable{System.Boolean})">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.Services.UICompletedEventArgs"/> class.
            </summary>
            <param name="dataContext">The data context.</param>
            <param name="result">The result.</param>
        </member>
        <member name="P:Catel.MVVM.Services.UICompletedEventArgs.DataContext">
            <summary>
            Gets the data context.
            </summary>
            <value>The data context.</value>
        </member>
        <member name="P:Catel.MVVM.Services.UICompletedEventArgs.Result">
            <summary>
            Gets the result of the window.
            </summary>
            <value>The result.</value>
        </member>
        <member name="T:Catel.AssemblyHelper">
            <summary>
            Assembly helper class.
            </summary>
        </member>
        <member name="M:Catel.AssemblyHelper.GetLoadedAssemblies">
            <summary>
            Gets the loaded assemblies by using the right method. For Windows applications, it uses
            <c>AppDomain.GetAssemblies()</c>. For Silverlight, it uses the assemblies
            from the current application.
            </summary>
            <returns>
            	<see cref="T:System.Collections.Generic.List`1"/> of all loaded assemblies.
            </returns>
        </member>
        <member name="M:Catel.AssemblyHelper.GetLoadedAssemblies(System.AppDomain)">
            <summary>
            Gets the loaded assemblies by using the right method. For Windows applications, it uses
            <c>AppDomain.GetAssemblies()</c>. For Silverlight, it uses the assemblies
            from the current application.
            </summary>
            <param name="appDomain">The app domain to search in.</param>
            <returns>
            	<see cref="T:System.Collections.Generic.List`1"/> of all loaded assemblies.
            </returns>
        </member>
        <member name="T:Catel.Generics.INullOp`1">
            <remarks>
            Code originally found at http://www.yoda.arachsys.com/csharp/miscutil/.
            </remarks>
        </member>
        <member name="T:Catel.Generics.StructNullOp`1">
            <remarks>
            Code originally found at http://www.yoda.arachsys.com/csharp/miscutil/.
            </remarks>
        </member>
        <member name="T:Catel.Generics.ClassNullOp`1">
            <remarks>
            Code originally found at http://www.yoda.arachsys.com/csharp/miscutil/.
            </remarks>
        </member>
        <member name="T:Catel.Data.ValidationResultType">
            <summary>
            Types of validation results.
            </summary>
        </member>
        <member name="F:Catel.Data.ValidationResultType.Warning">
            <summary>
            Validation result represents a warning.
            </summary>
        </member>
        <member name="F:Catel.Data.ValidationResultType.Error">
            <summary>
            Validation result represents an error.
            </summary>
        </member>
        <member name="T:Catel.Data.ValidationResult">
            <summary>
            Base class for validation results.
            </summary>
        </member>
        <member name="M:Catel.Data.ValidationResult.#ctor(Catel.Data.ValidationResultType,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.ValidationResult"/> class.
            </summary>
            <param name="validationResultType">Type of the validation result.</param>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="validationResultType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="P:Catel.Data.ValidationResult.ValidationResultType">
            <summary>
            Gets the type of the validation result.
            </summary>
            <value>The type of the validation result.</value>
        </member>
        <member name="P:Catel.Data.ValidationResult.Message">
            <summary>
            Gets or sets the validation result message.
            </summary>
            <value>The message.</value>
            <remarks>
            This value has a public setter so it is possible to customize the message
            in derived classes.
            <para />
            One should be careful and know what they are doing when overwriting an error message.
            </remarks>
        </member>
        <member name="T:Catel.Data.FieldValidationResult">
            <summary>
            Field validation result.
            </summary>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.#ctor(Catel.Data.PropertyData,Catel.Data.ValidationResultType,System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.FieldValidationResult"/> class.
            </summary>
            <param name="property">The property data.</param>
            <param name="validationResultType">Type of the validation result.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The args.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="messageFormat"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.#ctor(Catel.Data.PropertyData,Catel.Data.ValidationResultType,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.FieldValidationResult"/> class.
            </summary>
            <param name="property">The property data.</param>
            <param name="validationResultType">Type of the validation result.</param>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.#ctor(System.String,Catel.Data.ValidationResultType,System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.FieldValidationResult"/> class.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="validationResultType">Type of the validation result.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The args.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="propertyName"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="messageFormat"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.#ctor(System.String,Catel.Data.ValidationResultType,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.FieldValidationResult"/> class.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="validationResultType">Type of the validation result.</param>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="propertyName"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.CreateWarning(Catel.Data.PropertyData,System.String,System.Object[])">
            <summary>
            Creates a <see cref="T:Catel.Data.FieldValidationResult"/> containing a warning.
            </summary>
            <param name="propertyData">The property data.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The args.</param>
            <returns>
            The <see cref="T:Catel.Data.FieldValidationResult"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyData"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="messageFormat"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.CreateWarning(Catel.Data.PropertyData,System.String)">
            <summary>
            Creates a <see cref="T:Catel.Data.FieldValidationResult"/> containing a warning.
            </summary>
            <param name="propertyData">The property data.</param>
            <param name="message">The message.</param>
            <returns>
            The <see cref="T:Catel.Data.FieldValidationResult"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyData"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.CreateWarning(System.String,System.String,System.Object[])">
            <summary>
            Creates a <see cref="T:Catel.Data.FieldValidationResult"/> containing a warning.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The args.</param>
            <returns>
            The <see cref="T:Catel.Data.FieldValidationResult"/>.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="propertyName"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="messageFormat"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.CreateWarning(System.String,System.String)">
            <summary>
            Creates a <see cref="T:Catel.Data.FieldValidationResult"/> containing a warning.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="message">The message.</param>
            <returns>
            The <see cref="T:Catel.Data.FieldValidationResult"/>.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="propertyName"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.CreateError(Catel.Data.PropertyData,System.String,System.Object[])">
            <summary>
            Creates a <see cref="T:Catel.Data.FieldValidationResult"/> containing an error.
            </summary>
            <param name="propertyData">The property data.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The args.</param>
            <returns>
            The <see cref="T:Catel.Data.FieldValidationResult"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyData"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="messageFormat"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.CreateError(Catel.Data.PropertyData,System.String)">
            <summary>
            Creates a <see cref="T:Catel.Data.FieldValidationResult"/> containing an error.
            </summary>
            <param name="propertyData">The property data.</param>
            <param name="message">The message.</param>
            <returns>
            The <see cref="T:Catel.Data.FieldValidationResult"/>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyData"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.CreateError(System.String,System.String,System.Object[])">
            <summary>
            Creates a <see cref="T:Catel.Data.FieldValidationResult"/> containing an error.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The args.</param>
            <returns>
            The <see cref="T:Catel.Data.FieldValidationResult"/>.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="propertyName"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="messageFormat"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.FieldValidationResult.CreateError(System.String,System.String)">
            <summary>
            Creates a <see cref="T:Catel.Data.FieldValidationResult"/> containing an error.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="message">The message.</param>
            <returns>
            The <see cref="T:Catel.Data.FieldValidationResult"/>.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="propertyName"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="P:Catel.Data.FieldValidationResult.PropertyName">
            <summary>
            Gets the name of the property.
            </summary>
            <value>The name of the property.</value>
        </member>
        <member name="T:Catel.Data.BusinessRuleValidationResult">
            <summary>
            Business rule validation result.
            </summary>
        </member>
        <member name="M:Catel.Data.BusinessRuleValidationResult.#ctor(Catel.Data.ValidationResultType,System.String,System.Object[])">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.BusinessRuleValidationResult"/> class.
            </summary>
            <param name="validationResultType">Type of the validation result.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The args.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="messageFormat"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.BusinessRuleValidationResult.#ctor(Catel.Data.ValidationResultType,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.BusinessRuleValidationResult"/> class.
            </summary>
            <param name="validationResultType">Type of the validation result.</param>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.BusinessRuleValidationResult.CreateWarning(System.String,System.Object[])">
            <summary>
            Creates a <see cref="T:Catel.Data.BusinessRuleValidationResult"/> containing a warning.
            </summary>
            <param name="messageFormat">The message format.</param>
            <param name="args">The args.</param>
            <returns>
            The <see cref="T:Catel.Data.BusinessRuleValidationResult"/>.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="messageFormat"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.BusinessRuleValidationResult.CreateWarning(System.String)">
            <summary>
            Creates a <see cref="T:Catel.Data.BusinessRuleValidationResult"/> containing a warning.
            </summary>
            <param name="message">The message.</param>
            <returns>The <see cref="T:Catel.Data.BusinessRuleValidationResult"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.BusinessRuleValidationResult.CreateError(System.String,System.Object[])">
            <summary>
            Creates a <see cref="T:Catel.Data.BusinessRuleValidationResult"/> containing an error.
            </summary>
            <param name="messageFormat">The message format.</param>
            <param name="args">The args.</param>
            <returns>
            The <see cref="T:Catel.Data.BusinessRuleValidationResult"/>.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="messageFormat"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.BusinessRuleValidationResult.CreateError(System.String)">
            <summary>
            Creates a <see cref="T:Catel.Data.BusinessRuleValidationResult"/> containing an error.
            </summary>
            <param name="message">The message.</param>
            <returns>The <see cref="T:Catel.Data.BusinessRuleValidationResult"/>.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="T:Catel.Data.InvalidPropertyException">
            <summary>
            Exception is When an invalid property is added to the <see cref="T:Catel.Data.DataObjectBase`1"/> class.
            </summary>
        </member>
        <member name="M:Catel.Data.InvalidPropertyException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.InvalidPropertyException"/> class.
            </summary>
            <param name="propertyName">Name of the property that caused the exception.</param>
        </member>
        <member name="P:Catel.Data.InvalidPropertyException.PropertyName">
            <summary>
            Gets or sets the property name.
            </summary>
            <value>The property name.</value>
        </member>
        <member name="T:Catel.MVVM.ViewModelClosedEventArgs">
            <summary>
            <see cref="T:System.EventArgs"/> implementation for the <see cref="E:Catel.MVVM.IViewModel.Closed"/> event.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelClosedEventArgs.#ctor(System.Nullable{System.Boolean})">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelClosedEventArgs"/> class.
            </summary>
            <param name="result">The result to pass to the view. This will, for example, be used as <c>DialogResult</c>.</param>
        </member>
        <member name="P:Catel.MVVM.ViewModelClosedEventArgs.Result">
            <summary>
            Gets the result to pass to the view. This will, for example, be used as <c>DialogResult</c>
            </summary>
            <value>The result.</value>
        </member>
        <member name="T:Catel.MVVM.Services.IGyroscopeService">
            <summary>
            Interface for retrieving gyroscope information.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.ContentReadyEventArgs">
            <summary>
            <see cref="T:System.EventArgs"/> implementation for camera content ready operations.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.ContentReadyEventArgs.#ctor(System.IO.Stream)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.Services.ContentReadyEventArgs"/> class.
            </summary>
            <param name="imageStream">The image stream.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="imageStream"/> is <c>null</c>.</exception>
        </member>
        <member name="P:Catel.MVVM.Services.ContentReadyEventArgs.ImageStream">
            <summary>
            Gets the image stream of the image.
            </summary>
            <value>The image stream.</value>
        </member>
        <member name="T:Catel.MVVM.WrongViewModelTypeException">
            <summary>
            Exception in case that a wrong type is used for a view model.
            </summary>
        </member>
        <member name="M:Catel.MVVM.WrongViewModelTypeException.#ctor(System.Type,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.WrongViewModelTypeException"/> class.
            </summary>
            <param name="actualType">The actual type.</param>
            <param name="expectedType">The expected type.</param>
        </member>
        <member name="P:Catel.MVVM.WrongViewModelTypeException.ActualType">
            <summary>
            Gets the actual type.
            </summary>
            <value>The actual type.</value>
        </member>
        <member name="P:Catel.MVVM.WrongViewModelTypeException.ExpectedType">
            <summary>
            Gets the expected type.
            </summary>
            <value>The expected type.</value>
        </member>
        <member name="T:Catel.MVVM.ViewModelNotRegisteredException">
            <summary>
            Exception in case a view model is not registered, but still being used.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelNotRegisteredException.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelNotRegisteredException"/> class.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
        </member>
        <member name="P:Catel.MVVM.ViewModelNotRegisteredException.ViewModelType">
            <summary>
            Gets the type of the view model.
            </summary>
            <value>The type of the view model.</value>
        </member>
        <member name="T:Catel.MVVM.Auditing.IAuditor">
            <summary>
            Interface for auditors that can register itself with the <see cref="T:Catel.MVVM.Auditing.AuditingManager"/>.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnViewModelCreating(System.Type)">
            <summary>
            Called when a specific view model type is being created.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnViewModelCreated(System.Type)">
            <summary>
            Called when a specific view model type is created.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnPropertyChanging(Catel.MVVM.IViewModel,System.String,System.Object)">
            <summary>
            Called when the property of a view model is about to change.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="propertyName">Name of the property.</param>
            <param name="oldValue">The old property value.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnPropertyChanged(Catel.MVVM.IViewModel,System.String,System.Object)">
            <summary>
            Called when the property of a view model has just changed.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="propertyName">Name of the property.</param>
            <param name="newValue">The new property value.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnCommandExecuted(Catel.MVVM.IViewModel,System.String,Catel.MVVM.ICatelCommand,System.Object)">
            <summary>
            Called when a command of a view model has just been executed.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="commandName">Name of the command, which is the name of the command property.</param>
            <param name="command">The command that has been executed.</param>
            <param name="commandParameter">The command parameter.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnViewModelSaving(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model is about to be saved.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnViewModelSaved(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model has just been saved.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnViewModelCanceling(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model is about to be canceled.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnViewModelCanceled(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model has just been canceled.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnViewModelClosing(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model is about to be closed.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.IAuditor.OnViewModelClosed(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model has just been closed.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="P:Catel.MVVM.Auditing.IAuditor.PropertiesToIgnore">
            <summary>
            Gets a list of properties that should be ignored.
            </summary>
            <value>The list of properties to ignore.</value>
        </member>
        <member name="T:Catel.IO.Path">
            <summary>
            Static class that implements some path methods
            </summary>
        </member>
        <member name="M:Catel.IO.Path.GetApplicationDataDirectory">
            <summary>
            Gets the application data directory for the company and product as defined the the assembly information of the entry assembly. 
            If the entry assembly is <c>null</c>, this method will fall back to the calling assembly to retrieve the information.
            If the folder does not exist, the folder is automatically created by this method. 
            <para />
            This method returns a value like [application data]\[company]\[product name].
            </summary>
            <returns>Directory for the application data.</returns>
        </member>
        <member name="M:Catel.IO.Path.GetApplicationDataDirectory(System.String)">
            <summary>
            Gets the application data directory for a specific product. If the folder does not exist, the folder is automatically created by this method.
            <para />
            This method returns a value like [application data]\[product name].
            </summary>
            <param name="productName">Name of the product.</param>
            <returns>Directory for the application data.</returns>
        </member>
        <member name="M:Catel.IO.Path.GetApplicationDataDirectory(System.String,System.String)">
            <summary>
            Gets the application data directory for a specific product of a specific company. If the folder does not exist, the
            folder is automatically created by this method.
            <para />
            This method returns a value like [application data]\[company]\[product name].
            </summary>
            <param name="companyName">Name of the company.</param>
            <param name="productName">Name of the product.</param>
            <returns>Directory for the application data.</returns>
        </member>
        <member name="M:Catel.IO.Path.GetDirectoryName(System.String)">
            <summary>
            Gets the name of the directory.
            </summary>
            <param name="path">The path to get the directory name from.</param>
            <returns>The directory name.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="path"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.IO.Path.GetFileName(System.String)">
            <summary>
            Gets the name of the file.
            </summary>
            <param name="path">The path to get the file name from.</param>
            <returns>The file name.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="path"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.IO.Path.GetParentDirectory(System.String)">
            <summary>
            Gets the parent directory.
            </summary>
            <param name="path">The path to get the parent directory from.</param>
            <returns>Parent directory of a path. If there is no parent directory, <see cref="F:System.String.Empty"/> is returned.</returns>
            <remarks>
            This method will always strip the trailing backslash from the parent.
            </remarks>
        </member>
        <member name="M:Catel.IO.Path.GetRelativePath(System.String)">
            <summary>
            Returns a relative path string from a full path.
            <para/>
            The path to convert. Can be either a file or a directory
            The base path to truncate to and replace
            <para/>
            Lower case string of the relative path. If path is a directory it's returned 
            without a backslash at the end.
            <para/>
            Examples of returned values:
             .\test.txt, ..\test.txt, ..\..\..\test.txt, ., ..
            </summary>
            <param name="fullPath">Full path to convert to relative path.</param>
            <returns>Relative path.</returns>
            <remarks>
            This method internally uses the <see cref="M:Catel.IO.Path.GetRelativePath(System.String,System.String)"/> method, but passes <c>null</c>
            for the <c>basePath</c> parameter.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="fullPath"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.IO.Path.GetRelativePath(System.String,System.String)">
            <summary>
            Returns a relative path string from a full path.
            <para/>
            The path to convert. Can be either a file or a directory
            The base path to truncate to and replace
            <para/>
            Lower case string of the relative path. If path is a directory it's returned 
            without a backslash at the end.
            <para/>
            Examples of returned values:
             .\test.txt, ..\test.txt, ..\..\..\test.txt, ., ..
            </summary>
            <param name="fullPath">Full path to convert to relative path.</param>
            <param name="basePath">The base path (a.k.a. working directory). If this parameter is <c>null</c> or empty, the current working directory will be used.</param>
            <returns>Relative path.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="fullPath"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.IO.Path.GetFullPath(System.String,System.String)">
            <summary>
            Returns the full path for a relative path.
            </summary>
            <param name="relativePath">Relative path to convert to a full path.</param>
            <param name="basePath">Base path (a.k.a. working directory).</param>
            <returns>Full path.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="relativePath"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="basePath"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.IO.Path.AppendTrailingSlash(System.String)">
            <summary>
            Appends a trailing backslash (\) to the path.
            </summary>
            <param name="path">Path to append the trailing backslash to.</param>
            <returns>Path including the trailing backslash.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="path"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.IO.Path.AppendTrailingSlash(System.String,System.Char)">
            <summary>
            Appends a trailing slash (\ or /) to the path.
            </summary>
            <param name="path">Path to append the trailing slash to.</param>
            <param name="slash">Slash to append (\ or /).</param>
            <returns>Path including the trailing slash.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="path"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.IO.Path.Combine(System.String[])">
            <summary>
            Returns a combination of multiple paths.
            </summary>
            <param name="paths">Paths to combine.</param>
            <returns>Combination of all the paths passed.</returns>
        </member>
        <member name="M:Catel.IO.Path.CombineUrls(System.String[])">
            <summary>
            Returns a combination of multiple urls.
            </summary>
            <param name="urls">Urls to combine.</param>
            <returns>Combination of all the urls passed.</returns>
        </member>
        <member name="M:Catel.IO.Path.ReplacePathSlashesByUrlSlashes(System.String)">
            <summary>
            Replaces path slashes (\) by url slashes (/).
            </summary>
            <param name="value">Value to convert.</param>
            <returns>Prepared url.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="value"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.IO.Path.RemoveStartSlashes(System.String)">
            <summary>
            Removes any slashes (\ or /) at the beginning of the string.
            </summary>
            <param name="value">Value to remove the slashes from.</param>
            <returns>Value without slashes.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="value"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.IO.Path.RemoveTrailingSlashes(System.String)">
            <summary>
            Removes any slashes (\ or /) at the end of the string.
            </summary>
            <param name="value">Value to remove the slashes from.</param>
            <returns>Value without slashes.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="value"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.IO.Path.RemoveStartAndTrailingSlashes(System.String)">
            <summary>
            Removes any slashes (\ or /) at the beginning and end of the string.
            </summary>
            <param name="value">Value to remove the slashes from.</param>
            <returns>Value without trailing slashes.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="value"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="T:Catel.IoC.ServiceLocator">
            <summary>
            Default implementation of the <see cref="T:Catel.IoC.IServiceLocator"/> interface.
            </summary>
        </member>
        <member name="T:Catel.IoC.IServiceLocator">
            <summary>
            The service locator which is used to retrieve the right instances of interfaces.
            <para/>
            The cool thing about this service locator is that it can use external containers (from example from Unity)
            to resolve types if the types are not registered in the container itself. To do this, use the following code:
            <para/>
            <code>
              var serviceLocator = ServiceLocator.Instance;
              serviceLocator.RegisterExternalContainer(myUnityContainer);
            </code>
            <para/>
            The service locator will use the external containers in case the current container does not contain the
            type. If the external containers also don't contain the type, there is one last way to resolve the type
            using the <see cref="E:Catel.IoC.IServiceLocator.MissingType"/> event. The event passes <see cref="T:Catel.IoC.MissingTypeEventArgs"/> that contains
            the type the service locator is looking for. By setting the <see cref="P:Catel.IoC.MissingTypeEventArgs.ImplementingInstance"/> or 
            <see cref="P:Catel.IoC.MissingTypeEventArgs.ImplementingType"/> in the handler, the service locator will resolve the type.
            </summary>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.IsTypeRegistered``1">
            <summary>
            Determines whether the specified interface type is registered.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <returns>
            	<c>true</c> if the specified interface type is registered; otherwise, <c>false</c>.
            </returns>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.IsTypeRegistered(System.Type)">
            <summary>
            Determines whether the specified interface type is registered.
            </summary>
            <param name="interfaceType">The type of the interface.</param>
            <returns>
            	<c>true</c> if the specified interface type is registered; otherwise, <c>false</c>.
            </returns>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.RegisterInstance``1(``0)">
            <summary>
            Registers a specific instance of an interface.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <param name="instance">The specific instance to register.</param>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.RegisterType``2">
            <summary>
            Registers an implementation of an interface.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <typeparam name="TImplementation">The type of the implementation.</typeparam>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.RegisterTypeIfNotYetRegistered``2">
            <summary>
            Registers an implementation of an interface, but only if the type is not yet registered.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <typeparam name="TImplementation">The type of the implementation.</typeparam>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.RegisterType``2(System.Boolean)">
            <summary>
            Registers an implementation of an interface.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <typeparam name="TImplementation">The type of the implementation.</typeparam>
            <param name="registerIfAlreadyRegistered">if set to <c>true</c>, an older type registration is overwritten by this new one.</param>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.RegisterType(System.Type,System.Type)">
            <summary>
            Registers an implementation of an interface.
            </summary>
            <param name="interfaceType">The type of the interface.</param>
            <param name="implementingType">The type of the implementation.</param>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.RegisterTypeIfNotYetRegistered(System.Type,System.Type)">
            <summary>
            Registers an implementation of an interface, but only if the type is not yet registered.
            </summary>
            <param name="interfaceType">The type of the interface.</param>
            <param name="implementingType">The type of the implementation.</param>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.RegisterType(System.Type,System.Type,System.Boolean)">
            <summary>
            Registers an implementation of an interface, but only if the type is not yet registered.
            </summary>
            <param name="interfaceType">The type of the interface.</param>
            <param name="implementingType">The type of the implementation.</param>
            <param name="registerIfAlreadyRegistered">if set to <c>true</c>, an older type registration is overwritten by this new one.</param>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.ResolveType``1">
            <summary>
            Resolves an instance of the type registered on the interface.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <returns>
            An instance of the type registered on the interface.
            </returns>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.ResolveType(System.Type)">
            <summary>
            Resolves an instance of the type registered on the interface.
            </summary>
            <param name="interfaceType">The type of the interface.</param>
            <returns>
            An instance of the type registered on the interface.
            </returns>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.IsExternalContainerSupported(System.Object)">
            <summary>
            Determines whether the specified <paramref name="externalContainer">external container</paramref> is supported
            by this <see cref="T:Catel.IoC.IServiceLocator"/>.
            </summary>
            <param name="externalContainer">The external container.</param>
            <returns>
            	<c>true</c> if the external container type is supported; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="externalContainer"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.IoC.ExternalContainerNotSupportedException">If the <paramref name="externalContainer"/> is not supported.</exception>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.RegisterExternalContainer(System.Object)">
            <summary>
            Registers an external container. This can be an external IoC container such
            as a Unity container.
            <para/>
            Registering an external container in the service locator is very useful in case types are 
            already registered in another container (in case of Prism, for example).
            <para/>
            The <see cref="T:Catel.IoC.IServiceLocator"/> will use the external container to resolve unregistered types.
            <para/>
            Use the <see cref="M:Catel.IoC.IServiceLocator.IsExternalContainerSupported(System.Object)"/> to check whether an external container is registered
            before registering it (otherwise this method will thrown an exception).
            </summary>
            <exception cref="T:System.ArgumentNullException">If <paramref name="externalContainer"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.IoC.ExternalContainerNotSupportedException">If the <paramref name="externalContainer"/> is not supported.</exception>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.RegisterExternalContainerHelper(Catel.IoC.IExternalContainerHelper)">
            <summary>
            Registers an implementation of the <see cref="T:Catel.IoC.IExternalContainerHelper"/> class.
            <para/>
            This method can be used to add support for new external IoC containers.
            </summary>
            <param name="externalContainerHelper">The external container helper.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="externalContainerHelper"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.ExportInstancesToExternalContainers">
            <summary>
            Exports all the current instances of the services to the external containers. This means that
            non-instantiated services will not be exported.
            <para />
            This method will only export services if the services are not already registered with the
            external container.
            </summary>
        </member>
        <member name="M:Catel.IoC.IServiceLocator.ExportToExternalContainers">
            <summary>
            Exports all services to external containers. If a service is not yet instantiated, the instance
            will be registered with the external container. Otherwise, the type will be registered.
            <para />
            This method will only export services if the services are not already registered with the
            external container.
            </summary>
        </member>
        <member name="P:Catel.IoC.IServiceLocator.AutomaticallyKeepContainersSynchronized">
            <summary>
            Gets or sets a value indicating whether the service locator should keep the external containers
            in sync with the current <see cref="T:Catel.IoC.ServiceLocator"/>.
            <para/>
            This means that after every call to one of the following methods:<para/>
              * <see cref="M:Catel.IoC.IServiceLocator.RegisterExternalContainer(System.Object)"/><para/>
              * <see cref="M:Catel.IoC.IServiceLocator.RegisterInstance``1(``0)"/><para/>
              * <see cref="M:Catel.IoC.IServiceLocator.RegisterType``2"/><para/>
              * <see cref="M:Catel.IoC.IServiceLocator.RegisterTypeIfNotYetRegistered``2"/><para/>
              * <see cref="M:Catel.IoC.IServiceLocator.ResolveType(System.Type)"/><para/>
            <para/>
            this class will automatically invoke the <see cref="M:Catel.IoC.IServiceLocator.ExportToExternalContainers"/> method.
            <para/>
            By default, this value is <c>true</c>.
            </summary>
            <value>
            	<c>true</c> if the service locator should keep all containers synchronized; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="E:Catel.IoC.IServiceLocator.MissingType">
            <summary>
            Occurs when a type cannot be resolved the by service locator. It first tries to raise this event.
            <para />
            If there are no handlers or no handler can fill up the missing type, an exception will be thrown by
            the service locator.
            </summary>
        </member>
        <member name="F:Catel.IoC.ServiceLocator._registeredTypes">
            <summary>
            A list of registered types including the types to instantiate.
            </summary>
        </member>
        <member name="F:Catel.IoC.ServiceLocator._registeredTypesOriginalContainer">
            <summary>
            A list of types and their original container (so they can be instantiated from the right type)
            </summary>
        </member>
        <member name="F:Catel.IoC.ServiceLocator._registeredInstances">
            <summary>
            A list of registered instances of objects.
            </summary>
        </member>
        <member name="F:Catel.IoC.ServiceLocator._instance">
            <summary>
            Singleton instance of the service locator.
            </summary>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.IoC.ServiceLocator"/> class.
            </summary>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.IsTypeRegistered``1">
            <summary>
            Determines whether the specified interface type is registered.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <returns>
            	<c>true</c> if the specified interface type is registered; otherwise, <c>false</c>.
            </returns>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.IsTypeRegistered(System.Type)">
            <summary>
            Determines whether the specified interface type is registered.
            </summary>
            <param name="interfaceType">The type of the interface.</param>
            <returns>
            	<c>true</c> if the specified interface type is registered; otherwise, <c>false</c>.
            </returns>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterInstance``1(``0)">
            <summary>
            Registers a specific instance of an interface.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <param name="instance">The specific instance to register.</param>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterInstance(System.Type,System.Object,System.Object)">
            <summary>
            Registers a specific instance of an interface.
            </summary>
            <param name="interfaceType">Type of the interface.</param>
            <param name="instance">The specific instance to register.</param>
            <param name="originalContainer">The original container where the instance was found in.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="instance"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterType``2">
            <summary>
            Registers an implementation of an interface.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <typeparam name="TImplementation">The type of the implementation.</typeparam>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterTypeIfNotYetRegistered``2">
            <summary>
            Registers an implementation of an interface, but only if the type is not yet registered.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <typeparam name="TImplementation">The type of the implementation.</typeparam>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterType``2(System.Boolean)">
            <summary>
            Registers an implementation of an interface.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <typeparam name="TImplementation">The type of the implementation.</typeparam>
            <param name="registerIfAlreadyRegistered">if set to <c>true</c>, an older type registration is overwritten by this new one.</param>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterType(System.Type,System.Type)">
            <summary>
            Registers an implementation of an interface.
            </summary>
            <param name="interfaceType">The type of the interface.</param>
            <param name="implementingType">The type of the implementation.</param>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterTypeIfNotYetRegistered(System.Type,System.Type)">
            <summary>
            Registers an implementation of an interface, but only if the type is not yet registered.
            </summary>
            <param name="interfaceType">The type of the interface.</param>
            <param name="implementingType">The type of the implementation.</param>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterType(System.Type,System.Type,System.Boolean)">
            <summary>
            Registers an implementation of an interface, but only if the type is not yet registered.
            </summary>
            <param name="interfaceType">The type of the interface.</param>
            <param name="implementingType">The type of the implementation.</param>
            <param name="registerIfAlreadyRegistered">if set to <c>true</c>, an older type registration is overwritten by this new one.</param>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterType(System.Type,System.Type,System.Boolean,System.Object)">
            <summary>
            Registers the specific implementing type for the interface type.
            </summary>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingType">Type of the implementing.</param>
            <param name="registerIfAlreadyRegistered">if set to <c>true</c>, an older type registration is overwritten by this new one.</param>
            <param name="originalContainer">The original container where the type was found in.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.ResolveType``1">
            <summary>
            Resolves an instance of the type registered on the interface.
            </summary>
            <typeparam name="TInterface">The type of the interface.</typeparam>
            <returns>
            An instance of the type registered on the interface.
            </returns>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.ResolveType(System.Type)">
            <summary>
            Resolves an instance of the type registered on the interface.
            </summary>
            <param name="interfaceType">The type of the interface.</param>
            <returns>
            An instance of the type registered on the interface.
            </returns>
            <remarks>
            Note that the actual implementation lays in the hands of the IoC technique being used.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The type is not found in any container.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.ResolveTypeFromKnownContainer(System.Type)">
            <summary>
            Resolves the type from a known container.
            </summary>
            <param name="interfaceType">Type of the interface.</param>
            <returns>
            An instance of the type registered on the interface.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The type is not found in any container.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.ResolveTypeFromUnknownContainer(System.Type)">
            <summary>
            Resolves the type from an unknown container.
            </summary>
            <param name="interfaceType">Type of the interface.</param>
            <returns>
            An instance of the type registered on the interface.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentOutOfRangeException">The type is not found in any container.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.IsExternalContainerSupported(System.Object)">
            <summary>
            Determines whether the specified <paramref name="externalContainer">external container</paramref> is supported
            by this <see cref="T:Catel.IoC.IServiceLocator"/>.
            </summary>
            <param name="externalContainer">The external container.</param>
            <returns>
            	<c>true</c> if the external container type is supported; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="externalContainer"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.IoC.ExternalContainerNotSupportedException">If the <paramref name="externalContainer"/> is not supported.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterExternalContainer(System.Object)">
            <summary>
            Registers an external container. This can be an external IoC container such
            as a Unity container.
            <para/>
            Registering an external container in the service locator is very useful in case types are
            already registered in another container (in case of Prism, for example).
            <para/>
            The <see cref="T:Catel.IoC.IServiceLocator"/> will use the external container to resolve unregistered types.
            <para/>
            Use the <see cref="M:Catel.IoC.ServiceLocator.IsExternalContainerSupported(System.Object)"/> to check whether an external container is registered
            before registering it (otherwise this method will thrown an exception).
            </summary>
            <param name="externalContainer"></param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="externalContainer"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.IoC.ExternalContainerNotSupportedException">If the <paramref name="externalContainer"/> is not supported.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.RegisterExternalContainerHelper(Catel.IoC.IExternalContainerHelper)">
            <summary>
            Registers an implementation of the <see cref="T:Catel.IoC.IExternalContainerHelper"/> class.
            <para/>
            This method can be used to add support for new external IoC containers.
            </summary>
            <param name="externalContainerHelper">The external container helper.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="externalContainerHelper"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.ExportInstancesToExternalContainers">
            <summary>
            Exports all the current instances of the services to the external containers. This means that
            non-instantiated services will not be exported.
            <para />
            This method will only export services if the services are not already registered with the
            external container.
            </summary>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.ExportToExternalContainers">
            <summary>
            Exports all services to external containers. If a service is not yet instantiated, the instance
            will be registered with the external container. Otherwise, the type will be registered.
            <para />
            This method will only export services if the services are not already registered with the
            external container.
            </summary>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.CreateInstanceOfAllRegisteredTypes">
            <summary>
            Creates an instance of all registered types. This method is required in case an <see cref="T:Catel.IoC.IExternalContainerHelper"/>
            does not support the registration of types without instantiating them.
            <para/>
            This method only creates instances of types that are not yet instantiated.
            </summary>
        </member>
        <member name="M:Catel.IoC.ServiceLocator.GetContainerHelperForContainer(System.Object)">
            <summary>
            Gets the container helper for the container.
            </summary>
            <param name="externalContainer">The external container.</param>
            <returns>The container helper or <c>null</c> if the container is not supported.</returns>
        </member>
        <member name="P:Catel.IoC.ServiceLocator.Instance">
            <summary>
            Gets the instance of the default service locator. This property serves as as singleton.
            </summary>
            <value>The instance.</value>
        </member>
        <member name="P:Catel.IoC.ServiceLocator.AutomaticallyKeepContainersSynchronized">
            <summary>
            Gets or sets a value indicating whether the service locator should keep the external containers
            in sync with the current <see cref="T:Catel.IoC.ServiceLocator"/>.
            <para/>
            This means that after every call to one of the following methods:<para/>
              * <see cref="M:Catel.IoC.ServiceLocator.RegisterExternalContainer(System.Object)"/><para/>
              * <see cref="M:Catel.IoC.ServiceLocator.RegisterInstance``1(``0)"/><para/>
              * <see cref="M:Catel.IoC.ServiceLocator.RegisterType``2"/><para/>
              * <see cref="M:Catel.IoC.ServiceLocator.RegisterTypeIfNotYetRegistered``2"/><para/>
              * <see cref="M:Catel.IoC.ServiceLocator.ResolveType(System.Type)"/><para/>
            <para/>
            this class will automatically invoke the <see cref="M:Catel.IoC.ServiceLocator.ExportToExternalContainers"/> method.
            <para/>
            By default, this value is <c>true</c>.
            </summary>
            <value>
            	<c>true</c> if the service locator should keep all containers synchronized; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="E:Catel.IoC.ServiceLocator.MissingType">
            <summary>
            Occurs when a type cannot be resolved the by service locator. It first tries to raise this event.
            <para/>
            If there are no handlers or no handler can fill up the missing type, an exception will be thrown by
            the service locator.
            </summary>
        </member>
        <member name="T:Catel.IoC.MefHelper">
            <summary>
            Helper class for MEF IoC containers.
            </summary>
        </member>
        <member name="T:Catel.IoC.IExternalContainerHelper">
            <summary>
            Interface defining the least functionality of an external IoC container.
            </summary>
        </member>
        <member name="M:Catel.IoC.IExternalContainerHelper.IsValidContainer(System.Object)">
            <summary>
            Determines whether the specified <paramref name="container"/> is a valid container.
            </summary>
            <param name="container">The container.</param>
            <returns>
            	<c>true</c> if the specified <paramref name="container"/> is a valid container; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.IExternalContainerHelper.IsTypeRegistered(System.Object,System.Type)">
            <summary>
            Determines whether the specified <paramref name="interfaceType"/> is registered in the container.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <returns>
            	<c>true</c> if the specified <paramref name="interfaceType"/> is registered in the container; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
        </member>
        <member name="M:Catel.IoC.IExternalContainerHelper.RegisterType(System.Object,System.Type,System.Type)">
            <summary>
            Registers the specified type for the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingType">Type of the implementing.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
        </member>
        <member name="M:Catel.IoC.IExternalContainerHelper.RegisterInstance(System.Object,System.Type,System.Object)">
            <summary>
            Registers a specific instance for the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingInstance">The implementing instance.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingInstance"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
        </member>
        <member name="M:Catel.IoC.IExternalContainerHelper.ResolveType(System.Object,System.Type)">
            <summary>
            Resolves an instance of the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <returns>The resolved instance.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
            <exception cref="T:System.NotSupportedException">If the type is not registered in the container.</exception>
        </member>
        <member name="P:Catel.IoC.IExternalContainerHelper.Name">
            <summary>
            Gets the name of the helper.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:Catel.IoC.IExternalContainerHelper.CanRegisterTypesWithoutInstantiating">
            <summary>
            Gets a value indicating whether this helper can register types without instantiating.
            <para/>
            If this value is <c>true</c>, the <see cref="M:Catel.IoC.IExternalContainerHelper.RegisterType(System.Object,System.Type,System.Type)"/> can be used. Otherwise, only
            <see cref="M:Catel.IoC.IExternalContainerHelper.RegisterInstance(System.Object,System.Type,System.Object)"/> can be used.
            </summary>
            <value>
            	<c>true</c> if this helper can register types without instantiating; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:Catel.IoC.MefHelper.IsValidContainer(System.Object)">
            <summary>
            Determines whether the specified <paramref name="container"/> is a MEF IoC container.
            </summary>
            <param name="container">The container.</param>
            <returns>
            	<c>true</c> if the specified <paramref name="container"/> is a MEF IoC container; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.MefHelper.IsTypeRegistered(System.Object,System.Type)">
            <summary>
            Determines whether the specified <paramref name="interfaceType"/> is registered in the container.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <returns>
            	<c>true</c> if the specified <paramref name="interfaceType"/> is registered in the container; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a MEF IoC container.</exception>
        </member>
        <member name="M:Catel.IoC.MefHelper.RegisterType(System.Object,System.Type,System.Type)">
            <summary>
            Registers the specified type for the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingType">Type of the implementing.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a MEF IoC container.</exception>
        </member>
        <member name="M:Catel.IoC.MefHelper.RegisterInstance(System.Object,System.Type,System.Object)">
            <summary>
            Registers a specific instance for the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingInstance">The implementing instance.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingInstance"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a MEF IoC container.</exception>
        </member>
        <member name="M:Catel.IoC.MefHelper.ResolveType(System.Object,System.Type)">
            <summary>
            Resolves an instance of the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <returns>The resolved instance or <c>null</c> if the instance could not be resolved.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a MEF IoC container.</exception>
            <exception cref="T:System.NotSupportedException">If the type is not registered in the container.</exception>
        </member>
        <member name="M:Catel.IoC.MefHelper.GetKeyFromInterface(System.Type)">
            <summary>
            Gets the key from interface, which is required for MEF.
            </summary>
            <param name="interfaceType">Type of the interface.</param>
            <returns>The key based on the interface.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="interfaceType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.MefHelper.GetExportsFromKey(System.Object,System.String)">
            <summary>
            Gets the exports from key.
            </summary>
            <param name="container">The container.</param>
            <param name="key">The key.</param>
            <returns>
            An enumeration of exports.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="key"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.MefHelper.GetTypeFromAssembly(System.String)">
            <summary>
            Gets the type from the MEF assembly.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns>The type returned by <see cref="M:System.Type.GetType"/>.</returns>
        </member>
        <member name="P:Catel.IoC.MefHelper.Name">
            <summary>
            Gets the name of the helper.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:Catel.IoC.MefHelper.CanRegisterTypesWithoutInstantiating">
            <summary>
            Gets a value indicating whether this helper can register types without instantiating.
            <para/>
            If this value is <c>true</c>, the <see cref="M:Catel.IoC.MefHelper.RegisterType(System.Object,System.Type,System.Type)"/> can be used. Otherwise, only
            <see cref="M:Catel.IoC.MefHelper.RegisterInstance(System.Object,System.Type,System.Object)"/> can be used.
            </summary>
            <value>
            	<c>true</c> if this helper can register types without instantiating; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.IoC.MefHelper.MefAssembly">
            <summary>
            Gets the MEF assembly, which can be different for Silverlight and WPF.
            </summary>
            <value>The MEF assembly.</value>
        </member>
        <member name="T:Catel.Generics.Operator">
            <summary>
            The Operator class provides easy access to the standard operators
            (addition, etc) for generic types, using type inference to simplify
            usage.
            </summary>
            <remarks>
            Code originally found at http://www.yoda.arachsys.com/csharp/miscutil/.
            </remarks>
        </member>
        <member name="M:Catel.Generics.Operator.HasValue``1(``0)">
            <summary>
            Indicates if the supplied value is non-null,
            for reference-types or Nullable&lt;T&gt;
            </summary>
            <returns>True for non-null values, else false</returns>
        </member>
        <member name="M:Catel.Generics.Operator.AddIfNotNull``1(``0@,``0)">
            <summary>
            Increments the accumulator only
            if the value is non-null. If the accumulator
            is null, then the accumulator is given the new
            value; otherwise the accumulator and value
            are added.
            </summary>
            <param name="accumulator">The current total to be incremented (can be null)</param>
            <param name="value">The value to be tested and added to the accumulator</param>
            <returns>True if the value is non-null, else false - i.e.
            "has the accumulator been updated?"</returns>
        </member>
        <member name="M:Catel.Generics.Operator.Negate``1(``0)">
            <summary>
            Evaluates unary negation (-) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.Not``1(``0)">
            <summary>
            Evaluates bitwise not (~) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.Or``1(``0,``0)">
            <summary>
            Evaluates bitwise or (|) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.And``1(``0,``0)">
            <summary>
            Evaluates bitwise and (&amp;) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.Xor``1(``0,``0)">
            <summary>
            Evaluates bitwise xor (^) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.Convert``2(``0)">
            <summary>
            Performs a conversion between the given types; this will throw
            an InvalidOperationException if the type T does not provide a suitable cast, or for
            Nullable&lt;TInner&gt; if TInner does not provide this cast.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.Add``1(``0,``0)">
            <summary>
            Evaluates binary addition (+) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>        
        </member>
        <member name="M:Catel.Generics.Operator.AddAlternative``2(``0,``1)">
            <summary>
            Evaluates binary addition (+) for the given type(s); this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.Subtract``1(``0,``0)">
            <summary>
            Evaluates binary subtraction (-) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.SubtractAlternative``2(``0,``1)">
            <summary>
            Evaluates binary subtraction(-) for the given type(s); this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.Multiply``1(``0,``0)">
            <summary>
            Evaluates binary multiplication (*) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.MultiplyAlternative``2(``0,``1)">
            <summary>
            Evaluates binary multiplication (*) for the given type(s); this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.Divide``1(``0,``0)">
            <summary>
            Evaluates binary division (/) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.DivideAlternative``2(``0,``1)">
            <summary>
            Evaluates binary division (/) for the given type(s); this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.Equal``1(``0,``0)">
            <summary>
            Evaluates binary equality (==) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.NotEqual``1(``0,``0)">
            <summary>
            Evaluates binary inequality (!=) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.GreaterThan``1(``0,``0)">
            <summary>
            Evaluates binary greater-than (&gt;) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.LessThan``1(``0,``0)">
            <summary>
            Evaluates binary less-than (&lt;) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.GreaterThanOrEqual``1(``0,``0)">
            <summary>
            Evaluates binary greater-than-on-eqauls (&gt;=) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.LessThanOrEqual``1(``0,``0)">
            <summary>
            Evaluates binary less-than-or-equal (&lt;=) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="M:Catel.Generics.Operator.DivideInt32``1(``0,System.Int32)">
            <summary>
            Evaluates integer division (/) for the given type; this will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary><remarks>
            This operation is particularly useful for computing averages and
            similar aggregates.
            </remarks>
        </member>
        <member name="T:Catel.Generics.Operator`2">
            <summary>
            Provides standard operators (such as addition) that operate over operands of
            different types. For operators, the return type is assumed to match the first
            operand.
            </summary>
            <seealso cref="T:Catel.Generics.Operator`1"/>
            <seealso cref="T:Catel.Generics.Operator"/>
            <remarks>
            Code originally found at http://www.yoda.arachsys.com/csharp/miscutil/.
            </remarks>
        </member>
        <member name="P:Catel.Generics.Operator`2.Convert">
            <summary>
            Returns a delegate to convert a value between two types; this delegate will throw
            an InvalidOperationException if the type T does not provide a suitable cast, or for
            Nullable&lt;TInner&gt; if TInner does not provide this cast.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`2.Add">
            <summary>
            Returns a delegate to evaluate binary addition (+) for the given types; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`2.Subtract">
            <summary>
            Returns a delegate to evaluate binary subtraction (-) for the given types; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`2.Multiply">
            <summary>
            Returns a delegate to evaluate binary multiplication (*) for the given types; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`2.Divide">
            <summary>
            Returns a delegate to evaluate binary division (/) for the given types; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="T:Catel.Generics.Operator`1">
            <summary>
            Provides standard operators (such as addition) over a single type
            </summary>
            <seealso cref="T:Catel.Generics.Operator"/>
            <seealso cref="T:Catel.Generics.Operator`2"/>
            <remarks>
            Code originally found at http://www.yoda.arachsys.com/csharp/miscutil/.
            </remarks>
        </member>
        <member name="P:Catel.Generics.Operator`1.Zero">
            <summary>
            Returns the zero value for value-types (even full Nullable&lt;TInner&gt;) - or null for reference types
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.Negate">
            <summary>
            Returns a delegate to evaluate unary negation (-) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.Not">
            <summary>
            Returns a delegate to evaluate bitwise not (~) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.Or">
            <summary>
            Returns a delegate to evaluate bitwise or (|) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.And">
            <summary>
            Returns a delegate to evaluate bitwise and (&amp;) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.Xor">
            <summary>
            Returns a delegate to evaluate bitwise xor (^) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.Add">
            <summary>
            Returns a delegate to evaluate binary addition (+) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.Subtract">
            <summary>
            Returns a delegate to evaluate binary subtraction (-) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.Multiply">
            <summary>
            Returns a delegate to evaluate binary multiplication (*) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.Divide">
            <summary>
            Returns a delegate to evaluate binary division (/) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.Equal">
            <summary>
            Returns a delegate to evaluate binary equality (==) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.NotEqual">
            <summary>
            Returns a delegate to evaluate binary inequality (!=) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.GreaterThan">
            <summary>
            Returns a delegate to evaluate binary greater-then (&gt;) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.LessThan">
            <summary>
            Returns a delegate to evaluate binary less-than (&lt;) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.GreaterThanOrEqual">
            <summary>
            Returns a delegate to evaluate binary greater-than-or-equal (&gt;=) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="P:Catel.Generics.Operator`1.LessThanOrEqual">
            <summary>
            Returns a delegate to evaluate binary less-than-or-equal (&lt;=) for the given type; this delegate will throw
            an InvalidOperationException if the type T does not provide this operator, or for
            Nullable&lt;TInner&gt; if TInner does not provide this operator.
            </summary>
        </member>
        <member name="T:Catel.Reflection.AppDomainExtensions">
            <summary>
            <see cref="T:System.AppDomain"/> extensions.
            </summary>
        </member>
        <member name="M:Catel.Reflection.AppDomainExtensions.GetTypes(System.AppDomain,System.Type)">
            <summary>
            Gets a list of all types inside the <see cref="T:System.AppDomain"/> that have the <paramref name="baseType"/> as base class.
            <para/>
            If the specified base type is an interface, the types that are returned are types that implement the interface.
            If the specified base type is a class, the types that have the type as base class are returned.
            </summary>
            <param name="appDomain">The app domain.</param>
            <param name="baseType">Type of the base class.</param>
            <returns>List of types found in the <see cref="T:System.AppDomain"/>.</returns>
        </member>
        <member name="M:Catel.Reflection.AppDomainExtensions.GetTypes``1(System.AppDomain)">
            <summary>
            Gets a list of all types inside the <see cref="T:System.AppDomain"/> that have the <typeparamref name="TBaseType"/> as base class.
            </summary>
            <typeparam name="TBaseType">The type of the base class.</typeparam>
            <param name="appDomain">The app domain.</param>
            <returns>
            List of types found in the <see cref="T:System.AppDomain"/>.
            </returns>
        </member>
        <member name="T:Catel.MVVM.ManagedViewModel">
            <summary>
            Represents a managed view model. A managed view model is watched for property changes. As soon as a change occurs in one of the
            managed view models, all other interested view models are notified of the changes.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ManagedViewModel.Log">
            <summary>
            The <see cref="T:Catel.Logging.ILog">log</see> object.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ManagedViewModel._viewModelInstances">
            <summary>
            List of alive view model instances.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ManagedViewModel._interestedViewModels">
            <summary>
            List of alive view model instances that are interested in other view models.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ManagedViewModel"/> class.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModelType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.Clear">
            <summary>
            Clears all the currently registered view models.
            </summary>
            <remarks>
            This method should only be called during unit testing.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.AddViewModelInstance(Catel.MVVM.IViewModel)">
            <summary>
            Adds a view model instance to the list of instances.
            </summary>
            <param name="viewModel">The view model instance to add.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.MVVM.WrongViewModelTypeException">The <paramref name="viewModel"/> is not of the right type.</exception>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.RemoveViewModelInstance(Catel.MVVM.IViewModel)">
            <summary>
            Removes a view model instance from the list of instances.
            </summary>
            <param name="viewModel">The view model instance to remove.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.AddInterestedViewModel(Catel.MVVM.IViewModel)">
            <summary>
            Adds a view model to the list of interested view models for this view model type.
            </summary>
            <param name="viewModel">The view model instance that is interested in changes.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.RemoveInterestedViewModel(Catel.MVVM.IViewModel)">
            <summary>
            Removes a view model from the list of interested view models for this view model type.
            </summary>
            <param name="viewModel">The view model instance that is interested in changes.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.OnViewModelPropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Handles the PropertyChanged event of the ViewModel instances.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.OnViewModelCommandExecuted(System.Object,Catel.MVVM.CommandExecutedEventArgs)">
            <summary>
            Called when the <see cref="E:Catel.MVVM.ViewModelBaseWithoutServices.CommandExecuted"/> event is raised.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:Catel.MVVM.CommandExecutedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.OnViewModelSaving(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:Catel.MVVM.ViewModelBaseWithoutServices.Saving"/> event is raised.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.OnViewModelSaved(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:Catel.MVVM.ViewModelBaseWithoutServices.Saved"/> event is raised.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.OnViewModelCanceling(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:Catel.MVVM.ViewModelBaseWithoutServices.Canceling"/> event is raised.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.OnViewModelCanceled(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:Catel.MVVM.ViewModelBaseWithoutServices.Canceled"/> event is raised.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.OnViewModelClosed(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:Catel.MVVM.ViewModelBaseWithoutServices.Canceled"/> event is raised.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.OnInterestedViewModelClosed(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:Catel.MVVM.ViewModelBaseWithoutServices.Closed"/> event is raised.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ManagedViewModel.NotifyViewModelsOfEvent(Catel.MVVM.IViewModel,Catel.MVVM.ViewModelEvent,System.EventArgs)">
            <summary>
            Notifies all interested view models of an event that took place.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="viewModelEvent">The view model event.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="e"/> is <c>null</c>.</exception>
        </member>
        <member name="P:Catel.MVVM.ManagedViewModel.ViewModelType">
            <summary>
            Gets the type of the view model.
            </summary>
            <value>The type of the view model.</value>
        </member>
        <member name="T:Catel.MVVM.Services.ProcessCompletedDelegate">
            <summary>
            Delegate to invoke when a process of the <see cref="T:Catel.MVVM.Services.IProcessService"/> is completed.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.IProcessService">
            <summary>
            Interface for the Process service.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.IProcessService.StartProcess(System.String)">
            <summary>
            Starts a process resource by specifying the name of an application and a set of command-line arguments.
            </summary>
            <param name="fileName">The name of an application file to run in the process.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="fileName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IProcessService.StartProcess(System.String,System.String)">
            <summary>
            Starts a process resource by specifying the name of an application and a set of command-line arguments.
            </summary>
            <param name="fileName">The name of an application file to run in the process.</param>
            <param name="arguments">Command-line arguments to pass when starting the process.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="fileName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IProcessService.StartProcess(System.String,System.String,Catel.MVVM.Services.ProcessCompletedDelegate)">
            <summary>
            Starts a process resource by specifying the name of an application and a set of command-line arguments.
            </summary>
            <param name="fileName">The name of an application file to run in the process.</param>
            <param name="arguments">Command-line arguments to pass when starting the process.</param>
            <param name="processCompletedCallback">The process completed callback, invoked only when the process is started successfully and completed.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="fileName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="T:Catel.Logging.LogEvent">
            <summary>
              Different types of logging events.
            </summary>
        </member>
        <member name="F:Catel.Logging.LogEvent.Debug">
            <summary>
              Debug message.
            </summary>
        </member>
        <member name="F:Catel.Logging.LogEvent.Info">
            <summary>
              Info message.
            </summary>
        </member>
        <member name="F:Catel.Logging.LogEvent.Warning">
            <summary>
              Warning message.
            </summary>
        </member>
        <member name="F:Catel.Logging.LogEvent.Error">
            <summary>
              Error message.
            </summary>
        </member>
        <member name="T:Catel.IoC.NinjectHelper">
            <summary>
            Helper class for Ninject IoC containers.
            </summary>
        </member>
        <member name="M:Catel.IoC.NinjectHelper.IsValidContainer(System.Object)">
            <summary>
            Determines whether the specified <paramref name="container"/> is a valid container.
            </summary>
            <param name="container">The container.</param>
            <returns>
            	<c>true</c> if the specified <paramref name="container"/> is a valid container; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.NinjectHelper.IsTypeRegistered(System.Object,System.Type)">
            <summary>
            Determines whether the specified <paramref name="interfaceType"/> is registered in the container.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <returns>
            	<c>true</c> if the specified <paramref name="interfaceType"/> is registered in the container; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
            <remarks>
            Equals <c>kernel.GetBindings(interfaceType).Any()</c>.
            </remarks>
        </member>
        <member name="M:Catel.IoC.NinjectHelper.RegisterType(System.Object,System.Type,System.Type)">
            <summary>
            Registers the specified type for the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingType">Type of the implementing.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
            <remarks>
            Equals <c>kernel.Bind{interfaceType}().To{implementingType}().InSingletonScope()</c>.
            </remarks>
        </member>
        <member name="M:Catel.IoC.NinjectHelper.RegisterInstance(System.Object,System.Type,System.Object)">
            <summary>
            Registers a specific instance for the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingInstance">The implementing instance.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingInstance"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
            <remarks>
            Equals <c>kernel.Bind{interfaceType}().ToConstant(implementingInstance)</c>.
            </remarks>
        </member>
        <member name="M:Catel.IoC.NinjectHelper.ResolveType(System.Object,System.Type)">
            <summary>
            Resolves an instance of the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <returns>The resolved instance.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
            <exception cref="T:System.NotSupportedException">If the type is not registered in the container.</exception>
            <remarks>
            Equals <c>kernel.GetBindings(interfaceType).FirstOrDefault()</c>.
            </remarks>
        </member>
        <member name="M:Catel.IoC.NinjectHelper.GetNinjectType(System.String)">
            <summary>
            Gets the type in the ninject assembly.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns>The type.</returns>
        </member>
        <member name="P:Catel.IoC.NinjectHelper.Name">
            <summary>
            Gets the name of the helper.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:Catel.IoC.NinjectHelper.CanRegisterTypesWithoutInstantiating">
            <summary>
            Gets a value indicating whether this helper can register types without instantiating.
            <para/>
            If this value is <c>true</c>, the <see cref="M:Catel.IoC.NinjectHelper.RegisterType(System.Object,System.Type,System.Type)"/> can be used. Otherwise, only
            <see cref="M:Catel.IoC.NinjectHelper.RegisterInstance(System.Object,System.Type,System.Object)"/> can be used.
            </summary>
            <value>
            	<c>true</c> if this helper can register types without instantiating; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Catel.IoC.MissingTypeEventArgs">
            <summary>
            Event arguments for the <see cref="E:Catel.IoC.IServiceLocator.MissingType"/> event.
            <para/>
            These event arguments will be fired. To resolve a type, set either the <see cref="P:Catel.IoC.MissingTypeEventArgs.ImplementingInstance"/>
            or <see cref="P:Catel.IoC.MissingTypeEventArgs.ImplementingType"/>. If both are filled, the instance will be used.
            </summary>
        </member>
        <member name="M:Catel.IoC.MissingTypeEventArgs.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.IoC.MissingTypeEventArgs"/> class.
            </summary>
            <param name="interfaceType">Type of the interface.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
        </member>
        <member name="P:Catel.IoC.MissingTypeEventArgs.InterfaceType">
            <summary>
            Gets the type of the interface that is currently unresolved.
            </summary>
            <value>The type of the interface.</value>
        </member>
        <member name="P:Catel.IoC.MissingTypeEventArgs.ImplementingInstance">
            <summary>
            Gets or sets the implementing instance.
            <para />
            Set if the registration of an instance is required.
            </summary>
            <value>The implementing instance.</value>
        </member>
        <member name="P:Catel.IoC.MissingTypeEventArgs.ImplementingType">
            <summary>
            Gets or sets the implementing type.
            <para />
            Set if the registration of a type is required.
            </summary>
            <value>The implementing type.</value>
        </member>
        <member name="T:Catel.Diagnostics.TraceHelper">
            <summary>
            Trace helper class.
            </summary>
        </member>
        <member name="F:Catel.Diagnostics.TraceHelper._traceLevels">
            <summary>
            Available trace levels.
            </summary>
        </member>
        <member name="F:Catel.Diagnostics.TraceHelper._stopwatchTracers">
            <summary>
            Dictionary of currently living stopwatch traces.
            </summary>
        </member>
        <member name="M:Catel.Diagnostics.TraceHelper.StartStopwatchTrace(System.String)">
            <summary>
            Starts the trace of a stopwatch trace. Should be ended with a call to <see cref="M:Catel.Diagnostics.TraceHelper.StopStopwatchTrace(System.String)"/>.
            </summary>
            <param name="name">The name of the stopwatch.</param>
        </member>
        <member name="M:Catel.Diagnostics.TraceHelper.StartStopwatchTrace(System.String,System.Boolean)">
            <summary>
            Starts the trace of a stopwatch trace. Should be ended with a call to <see cref="M:Catel.Diagnostics.TraceHelper.StopStopwatchTrace(System.String)"/>.
            </summary>
            <param name="name">The name of the stopwatch.</param>
            <param name="traceNameOnStart">if set to <c>true</c>, the name will be traced both on the start and stop of the stopwatch.</param>
        </member>
        <member name="M:Catel.Diagnostics.TraceHelper.StopStopwatchTrace(System.String)">
            <summary>
            Stops the stopwatch trace and writes the duration as Verbose to the trace.
            </summary>
            <param name="name">The name of the stopwatch.</param>
        </member>
        <member name="M:Catel.Diagnostics.TraceHelper.ConvertTraceEventTypeToTraceLevel(System.Diagnostics.TraceEventType)">
            <summary>
            Converts a <see cref="T:System.Diagnostics.TraceEventType"/> to a <see cref="T:System.Diagnostics.TraceLevel"/>.
            </summary>
            <param name="eventType"><see cref="T:System.Diagnostics.TraceEventType"/> to convert.</param>
            <returns><see cref="T:System.Diagnostics.TraceLevel"/> that represents a <see cref="T:System.Diagnostics.TraceEventType"/>.</returns>
        </member>
        <member name="M:Catel.Diagnostics.TraceHelper.TraceErrorWithDetails(System.String,System.String)">
            <summary>
            Traces an error message with details.
            </summary>
            <param name="message">Message of the trace.</param>
            <param name="details">Additional details which will be listed later in the trace.</param>
        </member>
        <member name="M:Catel.Diagnostics.TraceHelper.TraceWarningWithDetails(System.String,System.String)">
            <summary>
            Traces a warning message with details.
            </summary>
            <param name="message">Message of the trace.</param>
            <param name="details">Additional details which will be listed later in the trace.</param>
        </member>
        <member name="M:Catel.Diagnostics.TraceHelper.TraceInformationWithDetails(System.String,System.String)">
            <summary>
            Traces an information message with details.
            </summary>
            <param name="message">Message of the trace.</param>
            <param name="details">Additional details which will be listed later in the trace.</param>
        </member>
        <member name="M:Catel.Diagnostics.TraceHelper.TraceVerboseWithDetails(System.String,System.String)">
            <summary>
            Traces a verbose message with details.
            </summary>
            <param name="message">Message of the trace.</param>
            <param name="details">Additional details which will be listed later in the trace.</param>
        </member>
        <member name="M:Catel.Diagnostics.TraceHelper.TraceWithDetails(System.Diagnostics.TraceLevel,System.String,System.String)">
            <summary>
            Traces a message with details.
            </summary>
            <param name="level"><see cref="T:System.Diagnostics.TraceLevel"/> to write.</param>
            <param name="message">Message of the trace.</param>
            <param name="details">Additional details which will be listed later in the trace.</param>
        </member>
        <member name="T:Catel.MVVM.ModelAttribute">
            <summary>
            Attribute to define a property in a view model as a model. Objects decorated with this attribute
            will be automatically validated when a property changes.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ModelAttribute.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ModelAttribute"/> class.
            </summary>
        </member>
        <member name="P:Catel.MVVM.ModelAttribute.SupportIEditableObject">
            <summary>
            Gets or sets a value indicating whether the <see cref="T:System.ComponentModel.IEditableObject"/> interface should be used on the model if possible.
            <para/>
            The default value is <c>true</c>.
            </summary>
            <value>
            	<c>true</c> if the <see cref="T:System.ComponentModel.IEditableObject"/> interface should be used on the model if possible; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Catel.MVVM.Services.IViewModelService">
            <summary>
            Interface to declare services in a view model.
            </summary>
        </member>
        <member name="P:Catel.MVVM.Services.IViewModelService.Name">
            <summary>
            Gets the name of the service.
            </summary>
            <value>The name of the service.</value>
        </member>
        <member name="T:Catel.MVVM.Services.ILocation">
            <summary>
            Interface that represents a location.
            </summary>
        </member>
        <member name="P:Catel.MVVM.Services.ILocation.Latitude">
            <summary>
            Gets the latitude. The latitute is the angular distance of that location south or north of the equator.
            </summary>
            <value>The latitude.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ILocation.Longitude">
            <summary>
            Gets the longitude. The longitude specifies the east-west position of a point on the Earth's surface.
            </summary>
            <value>The longitude.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ILocation.Altitude">
            <summary>
            Gets the altitude. The altitude is the height of the location.
            </summary>
            <value>The altitude.</value>
        </member>
        <member name="T:Catel.AttributeHelper">
            <summary>
            Attribute helper class.
            </summary>
        </member>
        <member name="M:Catel.AttributeHelper.TryGetAttribute``1(System.Reflection.PropertyInfo,``0@)">
            <summary>
            Tries to the get attribute.
            </summary>
            <typeparam name="TAttribute">The attribute type.</typeparam>
            <param name="propertyInfo">The property info.</param>
            <param name="attribute">The attribute.</param>
            <returns>
            	<c>true</c> if the attribute is retrieved successfully; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="T:Catel.EventHandlerExtensions">
            <summary>
            Extensions for event handlers.
            </summary>
        </member>
        <member name="M:Catel.EventHandlerExtensions.SafeInvoke(System.EventHandler,System.Object)">
            <summary>
            Invokes the specified <paramref name="handler"/> in a thread-safe manner with <see cref="F:System.EventArgs.Empty"/>
            as parameter for the event args. Where normally one has to write the following code:
            <para/>
            <code>
            <![CDATA[
            var handler = MyEvent;
            if (handler != null)
            {
                handler(this, EventArgs.Empty);
            }
            ]]>
            </code>
            <para/>
            One can now write:
            <para/>
            <code>
            MyEvent.SafeInvoke(this);
            </code>
            </summary>
            <param name="handler">The handler.</param>
            <param name="sender">The sender.</param>
            <returns><c>true</c> if the event handler was not <c>null</c>; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Catel.EventHandlerExtensions.SafeInvoke(System.EventHandler{System.EventArgs},System.Object)">
            <summary>
            Invokes the specified <paramref name="handler"/> in a thread-safe manner with <see cref="F:System.EventArgs.Empty"/>
            as parameter for the event args. Where normally one has to write the following code:
            <para/>
            <code>
            <![CDATA[
            var handler = MyEvent;
            if (handler != null)
            {
                handler(this, EventArgs.Empty);
            }
            ]]>
            </code>
            <para/>
            One can now write:
            <para/>
            <code>
            MyEvent.SafeInvoke(this);
            </code>
            </summary>
            <param name="handler">The handler.</param>
            <param name="sender">The sender.</param>
            <returns><c>true</c> if the event handler was not <c>null</c>; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Catel.EventHandlerExtensions.SafeInvoke(System.EventHandler,System.Object,System.EventArgs)">
            <summary>
            Invokes the specified <paramref name="handler"/> in a thread-safe manner with <see cref="F:System.EventArgs.Empty"/>
            as parameter for the event args. Where normally one has to write the following code:
            <para/>
            <code>
            <![CDATA[
            var handler = MyEvent;
            if (handler != null)
            {
                handler(this, EventArgs.Empty);
            }
            ]]>
            </code>
            <para/>
            One can now write:
            <para/>
            <code>
            MyEvent.SafeInvoke(this);
            </code>
            </summary>
            <param name="handler">The handler.</param>
            <param name="sender">The sender.</param>
            <param name="e">The event args.</param>
            <returns><c>true</c> if the event handler was not <c>null</c>; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Catel.EventHandlerExtensions.SafeInvoke``1(System.EventHandler{``0},System.Object,``0)">
            <summary>
            Invokes the specified <paramref name="handler"/> in a thread-safe manner. Where normally one
            has to write the following code:
            <para/>
            <code>
            <![CDATA[
            var handler = MyEvent;
            if (handler != null)
            {
                handler(this, e);
            }
            ]]>
            </code>
            <para/>
            One can now write:
            <para/>
            <code>
            MyEvent.SafeInvoke(this, e);
            </code>
            </summary>
            <typeparam name="TEventArgs">The type of the <see cref="T:System.EventArgs"/> class.</typeparam>
            <param name="handler">The handler.</param>
            <param name="sender">The sender.</param>
            <param name="e">The event args.</param>
            <returns><c>true</c> if the event handler was not <c>null</c>; otherwise <c>false</c>.</returns>
        </member>
        <member name="T:Catel.MVVM.Services.GyroscopeValueChangedEventArgs">
            <summary>
            <see cref="T:System.EventArgs"/> implementation which contains a new gyroscope value.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.GyroscopeValueChangedEventArgs.#ctor(Catel.MVVM.Services.IGyroscopeValue)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.Services.GyroscopeValueChangedEventArgs"/> class.
            </summary>
            <param name="newValue">The new gyroscope value.</param>
        </member>
        <member name="P:Catel.MVVM.Services.GyroscopeValueChangedEventArgs.Value">
            <summary>
            Gets the new gyroscope value.
            </summary>
            <value>The new gyroscope value.</value>
        </member>
        <member name="T:Catel.Logging.DebugLogListener">
            <summary>
              Implementation of the <see cref="T:Catel.Logging.ILogListener"/> that writes code to the debug or output window.
            </summary>
        </member>
        <member name="M:Catel.Logging.DebugLogListener.Write(Catel.Logging.ILog,System.String,Catel.Logging.LogEvent)">
            <summary>
            Called when any message is written to the log.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
            <param name="logEvent">The log event.</param>
        </member>
        <member name="M:Catel.Logging.DebugLogListener.Debug(Catel.Logging.ILog,System.String)">
            <summary>
            Called when a <see cref="F:Catel.Logging.LogEvent.Debug"/> message is written to the log.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.DebugLogListener.Info(Catel.Logging.ILog,System.String)">
            <summary>
            Called when a <see cref="F:Catel.Logging.LogEvent.Info"/> message is written to the log.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.DebugLogListener.Warning(Catel.Logging.ILog,System.String)">
            <summary>
            Called when a <see cref="F:Catel.Logging.LogEvent.Warning"/> message is written to the log.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.DebugLogListener.Error(Catel.Logging.ILog,System.String)">
            <summary>
            Called when a <see cref="F:Catel.Logging.LogEvent.Error"/> message is written to the log.
            </summary>
            <param name="log">The log.</param>
            <param name="message">The message.</param>
        </member>
        <member name="T:Catel.Diagnostics.TraceListenerBase">
            <summary>
            Class that implements a trace listener.
            </summary>
        </member>
        <member name="F:Catel.Diagnostics.TraceListenerBase.ItemsSourceTimingIssueTrace">
            <summary>
            Trace message for the ItemsSource timing issue. This line should be ignored.
            </summary>
        </member>
        <member name="M:Catel.Diagnostics.TraceListenerBase.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Diagnostics.TraceListenerBase"/> class.
            </summary>
            <param name="name">The name of the <see cref="T:System.Diagnostics.TraceListener"/>.</param>
        </member>
        <member name="M:Catel.Diagnostics.TraceListenerBase.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.String,System.Object[])">
            <summary>
            Writes trace information, a formatted array of objects and event information to the listener specific output.
            </summary>
            <param name="eventCache">A <see cref="T:System.Diagnostics.TraceEventCache"/> object that contains the current process ID, thread ID, and stack trace information.</param>
            <param name="source">A name used to identify the output, typically the name of the application that generated the trace event.</param>
            <param name="eventType">One of the <see cref="T:System.Diagnostics.TraceEventType"/> values specifying the type of event that has caused the trace.</param>
            <param name="id">A numeric identifier for the event.</param>
            <param name="format">A format string that contains zero or more format items, which correspond to objects in the <paramref name="args"/> array.</param>
            <param name="args">An object array containing zero or more objects to format.</param>
            <PermissionSet>
            	<IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
            	<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode"/>
            </PermissionSet>
        </member>
        <member name="M:Catel.Diagnostics.TraceListenerBase.TraceEvent(System.Diagnostics.TraceEventCache,System.String,System.Diagnostics.TraceEventType,System.Int32,System.String)">
            <summary>
            Writes trace information, a message, and event information to the listener specific output.
            </summary>
            <param name="eventCache">A <see cref="T:System.Diagnostics.TraceEventCache"/> object that contains the current process ID, thread ID, and stack trace information.</param>
            <param name="source">A name used to identify the output, typically the name of the application that generated the trace event.</param>
            <param name="eventType">One of the <see cref="T:System.Diagnostics.TraceEventType"/> values specifying the type of event that has caused the trace.</param>
            <param name="id">A numeric identifier for the event.</param>
            <param name="message">A message to write.</param>
            <PermissionSet>
            	<IPermission class="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true"/>
            	<IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="UnmanagedCode"/>
            </PermissionSet>
        </member>
        <member name="M:Catel.Diagnostics.TraceListenerBase.Write(System.String)">
            <summary>
            Writes text to the output window.
            </summary>
            <param name="message">Message to write.</param>
        </member>
        <member name="M:Catel.Diagnostics.TraceListenerBase.WriteLine(System.String)">
            <summary>
            Writes a line of text to the output window.
            </summary>
            <param name="message">Message to write.</param>
        </member>
        <member name="M:Catel.Diagnostics.TraceListenerBase.OnTrace(System.String,System.Diagnostics.TraceEventType)">
            <summary>
            Called when a new trace has occurred.
            </summary>
            <param name="message">The message.</param>
            <param name="eventType">Type of the event.</param>
        </member>
        <member name="P:Catel.Diagnostics.TraceListenerBase.TraceSourceCollection">
            <summary>
            Gets or sets the trace source collection.
            </summary>
            <value>The trace source collection.</value>
        </member>
        <member name="P:Catel.Diagnostics.TraceListenerBase.ActiveTraceLevel">
            <summary>
            Gets or sets the active trace type.
            </summary>
        </member>
        <member name="T:Catel.Argument">
            <summary>
            Argument validator class to help validating arguments that are passed into a method.
            <para />
            This class automatically adds thrown exceptions to the log file.
            </summary>
        </member>
        <member name="F:Catel.Argument.Log">
            <summary>
            The <see cref="T:Catel.Logging.ILog">log</see> object.
            </summary>
        </member>
        <member name="M:Catel.Argument.IsNotNull(System.String,System.Object)">
            <summary>
            Determines whether the specified argument is not <c>null</c>.
            </summary>
            <param name="paramName">Name of the parameter.</param>
            <param name="paramValue">Value of the parameter.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="paramValue"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Argument.IsNotNullOrEmpty(System.String,System.String)">
            <summary>
            Determines whether the specified argument is not <c>null</c> or empty.
            </summary>
            <param name="paramName">Name of the parameter.</param>
            <param name="paramValue">Value of the parameter.</param>
            <exception cref="T:System.ArgumentException">If <paramref name="paramValue"/> is <c>null</c> or empty.</exception>
        </member>
        <member name="M:Catel.Argument.IsNotNullOrWhitespace(System.String,System.String)">
            <summary>
            Determines whether the specified argument is not <c>null</c> or a whitespace.
            </summary>
            <param name="paramName">Name of the parameter.</param>
            <param name="paramValue">Value of the parameter.</param>
            <exception cref="T:System.ArgumentException">If <paramref name="paramValue"/> is <c>null</c> or a whitespace.</exception>
        </member>
        <member name="M:Catel.Argument.IsNotNullOrEmptyArray(System.String,System.Array)">
            <summary>
            Determines whether the specified argument is not <c>null</c> or an empty array (.Length == 0).
            </summary>
            <param name="paramName">Name of the parameter.</param>
            <param name="paramValue">Value of the parameter.</param>
            <exception cref="T:System.ArgumentException">If <paramref name="paramValue"/> is <c>null</c> or an empty array.</exception>
        </member>
        <member name="M:Catel.Argument.IsNotOutOfRange(System.String,System.Object,System.Func{System.Object,System.Boolean})">
            <summary>
            Determines whether the specified argument is not out of range.
            </summary>
            <param name="paramName">Name of the parameter.</param>
            <param name="paramValue">Value of the parameter.</param>
            <param name="validation">The validation function to call for validation.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">If <paramref name="paramValue"/> is out of range.</exception>
        </member>
        <member name="M:Catel.Argument.IsNotOutOfRange``1(System.String,``0,``0,``0)">
            <summary>
            Determines whether the specified argument is not out of range.
            </summary>
            <typeparam name="T">Type of the argument.</typeparam>
            <param name="paramName">Name of the parameter.</param>
            <param name="paramValue">Value of the parameter.</param>
            <param name="minimumValue">The minimum value.</param>
            <param name="maximumValue">The maximum value.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">If <paramref name="paramValue"/> is out of range.</exception>
        </member>
        <member name="M:Catel.Argument.IsMinimal``1(System.String,``0,``0)">
            <summary>
            Determines whether the specified argument has a minimum value.
            </summary>
            <typeparam name="T">Type of the argument.</typeparam>
            <param name="paramName">Name of the parameter.</param>
            <param name="paramValue">Value of the parameter.</param>
            <param name="minimumValue">The minimum value.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">If <paramref name="paramValue"/> is out of range.</exception>
        </member>
        <member name="M:Catel.Argument.IsMaximum``1(System.String,``0,``0)">
            <summary>
            Determines whether the specified argument has a maximum value.
            </summary>
            <typeparam name="T">Type of the argument.</typeparam>
            <param name="paramName">Name of the parameter.</param>
            <param name="paramValue">Value of the parameter.</param>
            <param name="maximumValue">The maximum value.</param>
            <exception cref="T:System.ArgumentOutOfRangeException">If <paramref name="paramValue"/> is out of range.</exception>
        </member>
        <member name="M:Catel.Argument.ImplementsInterface(System.String,System.Object,System.Type)">
            <summary>
            Checks whether the specified <paramref name="instance"/> implements the specified <paramref name="interfaceType"/>.
            </summary>
            <param name="paramName">Name of the param.</param>
            <param name="instance">The instance to check.</param>
            <param name="interfaceType">The type of the interface to check for.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="instance"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="instance"/> does not implement the <paramref name="interfaceType"/>.</exception>
        </member>
        <member name="M:Catel.Argument.ImplementsInterface(System.String,System.Type,System.Type)">
            <summary>
            Checks whether the specified <paramref name="type"/> implements the specified <paramref name="interfaceType"/>.
            </summary>
            <param name="paramName">Name of the param.</param>
            <param name="type">The type to check.</param>
            <param name="interfaceType">The type of the interface to check for.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="type"/> does not implement the <paramref name="interfaceType"/>.</exception>
        </member>
        <member name="M:Catel.Argument.IsOfType(System.String,System.Object,System.Type)">
            <summary>
            Checks whether the specified <paramref name="instance"/> is of the specified <paramref name="requiredType"/>.
            </summary>
            <param name="paramName">Name of the param.</param>
            <param name="instance">The instance to check.</param>
            <param name="requiredType">The type to check for.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="instance"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="requiredType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="instance"/> is not of type <paramref name="requiredType"/>.</exception>
        </member>
        <member name="M:Catel.Argument.IsOfType(System.String,System.Type,System.Type)">
            <summary>
            Checks whether the specified <paramref name="type"/> is of the specified <paramref name="requiredType"/>.
            </summary>
            <param name="paramName">Name of the param.</param>
            <param name="type">The type to check.</param>
            <param name="requiredType">The type to check for.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="requiredType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="type"/> is not of type <paramref name="requiredType"/>.</exception>
        </member>
        <member name="M:Catel.Argument.IsNotOfType(System.String,System.Object,System.Type)">
            <summary>
            Checks whether the specified <paramref name="instance"/> is not of the specified <paramref name="notRequiredType"/>.
            </summary>
            <param name="paramName">Name of the param.</param>
            <param name="instance">The instance to check.</param>
            <param name="notRequiredType">The type to check for.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="instance"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="notRequiredType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="instance"/> is of type <paramref name="notRequiredType"/>.</exception>
        </member>
        <member name="M:Catel.Argument.IsNotOfType(System.String,System.Type,System.Type)">
            <summary>
            Checks whether the specified <paramref name="type"/> is not of the specified <paramref name="notRequiredType"/>.
            </summary>
            <param name="paramName">Name of the param.</param>
            <param name="type">The type to check.</param>
            <param name="notRequiredType">The type to check for.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="notRequiredType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="type"/> is of type <paramref name="notRequiredType"/>.</exception>
        </member>
        <member name="M:Catel.Argument.EnsureValidParamName(System.String)">
            <summary>
            Ensures that the name of the param is valid.
            </summary>
            <param name="paramName">Name of the param.</param>
            <exception cref="T:System.ArgumentException">If <paramref name="paramName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="T:Catel.Reflection.PropertyHelper">
            <summary>
            Property helper class.
            </summary>
        </member>
        <member name="F:Catel.Reflection.PropertyHelper.Log">
            <summary>
            The <see cref="T:Catel.Logging.ILog">log</see> object.
            </summary>
        </member>
        <member name="M:Catel.Reflection.PropertyHelper.IsPropertyAvailable(System.Object,System.String)">
            <summary>
            Determines whether the specified property is available on the object.
            </summary>
            <param name="obj">The obj.</param>
            <param name="property">The property.</param>
            <returns>
            	<c>true</c> if the property exists on the object type; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="obj"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="property"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Reflection.PropertyHelper.TryGetPropertyValue(System.Object,System.String,System.Object@)">
            <summary>
            Tries to get the property value. If it fails, not exceptions will be thrown but the <paramref name="value"/> 
            is set to a default value and the method will return <c>false</c>.
            </summary>
            <param name="obj">The object.</param>
            <param name="property">The property.</param>
            <param name="value">The value as output parameter.</param>
            <returns><c>true</c> if the method succeeds; otherwise <c>false</c>.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="obj"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="property"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Reflection.PropertyHelper.TryGetPropertyValue``1(System.Object,System.String,``0@)">
            <summary>
            Tries to get the property value. If it fails, not exceptions will be thrown but the <paramref name="value"/> 
            is set to a default value and the method will return <c>false</c>.
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="obj">The object.</param>
            <param name="property">The property.</param>
            <param name="value">The value as output parameter.</param>
            <returns>
            	<c>true</c> if the method succeeds; otherwise <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="obj"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="property"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Reflection.PropertyHelper.GetPropertyValue(System.Object,System.String)">
            <summary>
            Gets the property value of a specific object.
            </summary>
            <param name="obj">The object.</param>
            <param name="property">The property.</param>
            <returns>
            The property value or <c>null</c> if no property can be found.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="obj"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="property"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:Catel.Reflection.PropertyNotFoundException">The <paramref name="obj"/> is not found or not publicly available.</exception>
            <exception cref="T:Catel.Reflection.CannotGetPropertyValueException">The property value cannot be read.</exception>
        </member>
        <member name="M:Catel.Reflection.PropertyHelper.GetPropertyValue``1(System.Object,System.String)">
            <summary>
            Gets the property value of a specific object.
            </summary>
            <typeparam name="TValue">The type of the value.</typeparam>
            <param name="obj">The object.</param>
            <param name="property">The property.</param>
            <returns>
            The property value or <c>null</c> if no property can be found.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="obj"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="property"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:Catel.Reflection.PropertyNotFoundException">The <paramref name="obj"/> is not found or not publicly available.</exception>
            <exception cref="T:Catel.Reflection.CannotGetPropertyValueException">The property value cannot be read.</exception>
        </member>
        <member name="M:Catel.Reflection.PropertyHelper.TrySetPropertyValue(System.Object,System.String,System.Object)">
            <summary>
            Tries to set the property value. If it fails, no exceptions will be thrown, but <c>false</c> will
            be returned.
            </summary>
            <param name="obj">The object.</param>
            <param name="property">The property.</param>
            <param name="value">The value.</param>
            <returns>
            	<c>true</c> if the method succeeds; otherwise <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="obj"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="property"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Reflection.PropertyHelper.SetPropertyValue(System.Object,System.String,System.Object)">
            <summary>
            Sets the property value of a specific object.
            </summary>
            <param name="obj">The object.</param>
            <param name="property">The property.</param>
            <param name="value">The value.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="obj"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="property"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:Catel.Reflection.PropertyNotFoundException">The <paramref name="obj"/> is not found or not publicly available.</exception>
            <exception cref="T:Catel.Reflection.CannotSetPropertyValueException">The the property value cannot be written.</exception>
        </member>
        <member name="T:Catel.Reflection.ReflectionExtensions">
            <summary>
            Reflection extension class.
            </summary>
        </member>
        <member name="F:Catel.Reflection.ReflectionExtensions._properties">
            <summary>
            Cache for the properties per type.
            </summary>
        </member>
        <member name="F:Catel.Reflection.ReflectionExtensions._methods">
            <summary>
            Cache for the methods per type.
            </summary>
        </member>
        <member name="M:Catel.Reflection.ReflectionExtensions.GetFieldAndAllowPrivateBaseMembers(System.Type,System.String,System.Reflection.BindingFlags)">
            <summary>
            Gets the field info for a specific field. But, the good thing about this is that it also supports
            <see cref="F:System.Reflection.BindingFlags.FlattenHierarchy"/> for private members in base classes.
            </summary>
            <param name="type">The type to reflect.</param>
            <param name="fieldName">Name of the field.</param>
            <param name="bindingFlags">The binding flags.</param>
            <returns><see cref="T:System.Reflection.FieldInfo"/> or <c>null</c> if the field is not found.</returns>
        </member>
        <member name="M:Catel.Reflection.ReflectionExtensions.GetPropertyCached(System.Type,System.String)">
            <summary>
            Gets the property info for a specific property of a specific type.
            </summary>
            <param name="type">The type to reflect.</param>
            <param name="propertyName">Name of the property.</param>
            <returns><see cref="T:System.Reflection.PropertyInfo"/> of the property or <c>null</c> if the property is not found.</returns>
        </member>
        <member name="M:Catel.Reflection.ReflectionExtensions.GetMethodCached(System.Type,System.String)">
            <summary>
            Gets the method for a specific type.
            </summary>
            <param name="type">The type that contains the member.</param>
            <param name="methodName">Name of the method.</param>
            <returns><see cref="T:System.Reflection.MethodInfo"/> of the method or <c>null</c> if the method is not found.</returns>
        </member>
        <member name="M:Catel.Reflection.ReflectionExtensions.AddObjectToCache``1(System.Collections.Generic.Dictionary{System.Type,System.Collections.Generic.Dictionary{System.String,``0}},System.Type,System.String,``0)">
            <summary>
            Adds an object to cache.
            </summary>
            <typeparam name="T">Type of the member.</typeparam>
            <param name="dictionary">The dictionary.</param>
            <param name="type">The type that contains the member.</param>
            <param name="memberName">Name of the member.</param>
            <param name="reflectedMember">The reflected member.</param>
        </member>
        <member name="M:Catel.Reflection.ReflectionExtensions.GetObjectFromCache``1(System.Collections.Generic.Dictionary{System.Type,System.Collections.Generic.Dictionary{System.String,``0}},System.Type,System.String)">
            <summary>
            Gets an object from cache.
            </summary>
            <typeparam name="T">Type of the member.</typeparam>
            <param name="dictionary">The dictionary.</param>
            <param name="type">The type that contains the member.</param>
            <param name="memberName">Name of the member.</param>
            <returns>object or <c>null</c> if the object does not exist in the cache.</returns>
        </member>
        <member name="T:Catel.MVVM.Services.IVector3">
            <summary>
            Interface defining the Vector3 struct.
            </summary>
        </member>
        <member name="P:Catel.MVVM.Services.IVector3.X">
            <summary>
            Gets the X coordinate.
            </summary>
            <value>The X coordinate.</value>
        </member>
        <member name="P:Catel.MVVM.Services.IVector3.Y">
            <summary>
            Gets the Y coordinate.
            </summary>
            <value>The Y coordinate.</value>
        </member>
        <member name="P:Catel.MVVM.Services.IVector3.Z">
            <summary>
            Gets the Z coordinate.
            </summary>
            <value>The Z coordinate.</value>
        </member>
        <member name="T:Catel.MVVM.ModelNotRegisteredException">
            <summary>
            Exception for when a model is not registered on a class, but a <see cref="T:Catel.MVVM.ViewModelToModelAttribute"/> is used with the model.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ModelNotRegisteredException.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ModelNotRegisteredException"/> class.
            </summary>
            <param name="modelName">Name of the model.</param>
            <param name="propertyDeclaringViewModelToModelAttribute">The property declaring the view model to model attribute.</param>
        </member>
        <member name="P:Catel.MVVM.ModelNotRegisteredException.ModelName">
            <summary>
            Gets the name of the model.
            </summary>
            <value>The name of the model.</value>
        </member>
        <member name="P:Catel.MVVM.ModelNotRegisteredException.PropertyDeclaringViewModelToModelAttribute">
            <summary>
            Gets the property declaring the view model to model attribute.
            </summary>
            <value>The property declaring the view model to model attribute.</value>
        </member>
        <member name="T:Catel.Data.PropertyNotRegisteredException">
            <summary>
            Exception when a property is used by the <see cref="T:Catel.Data.DataObjectBase`1"/> class that is
            not registered by the object.
            </summary>
        </member>
        <member name="M:Catel.Data.PropertyNotRegisteredException.#ctor(System.String,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.PropertyNotRegisteredException"/> class.
            </summary>
            <param name="propertyName">Name of the property that caused the exception.</param>
            <param name="objectType">Type of the object that is trying to register the property.</param>
        </member>
        <member name="P:Catel.Data.PropertyNotRegisteredException.PropertyName">
            <summary>
            Gets or sets the property name.
            </summary>
            <value>The property name.</value>
        </member>
        <member name="P:Catel.Data.PropertyNotRegisteredException.ObjectType">
            <summary>
            Gets or sets the object type for which the property is already registered.
            </summary>
            <value>The object type for which the property is already registered.</value>
        </member>
        <member name="T:Catel.Runtime.Serialization.SerializationHelper">
            <summary>
            Class that makes serialization much easier and safer.
            </summary>
        </member>
        <member name="F:Catel.Runtime.Serialization.SerializationHelper.Log">
            <summary>
            The <see cref="T:Catel.Logging.ILog">log</see> object.
            </summary>
        </member>
        <member name="F:Catel.Runtime.Serialization.SerializationHelper._xmlSerializers">
            <summary>
            Cache for the <see cref="T:System.Xml.Serialization.XmlSerializer"/> per name.
            </summary>
        </member>
        <member name="F:Catel.Runtime.Serialization.SerializationHelper._dataContractSerializers">
            <summary>
            Cache for the <see cref="T:System.Runtime.Serialization.DataContractSerializer"/> per name.
            </summary>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetXmlSerializer(System.Type,System.String)">
            <summary>
            Gets the XML serializer for a specific type. This method caches serializers so the
            performance can be improved when a serializer is used more than once.
            </summary>
            <param name="type">The type to get the xml serializer for.</param>
            <param name="xmlName">Name of the property as known in XML.</param>
            <returns><see cref="T:System.Xml.Serialization.XmlSerializer"/> for the given type.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetBinarySerializer(System.Boolean)">
            <summary>
            Gets the <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/> for binary (de)serialization.
            </summary>
            <param name="supportRedirects">if set to <c>true</c>, redirects of types are supported. This is substantially slower.</param>
            <returns><see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/> with the requested options.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetString(System.Runtime.Serialization.SerializationInfo,System.String,System.String)">
            <summary>
            Retrieves a string from a SerializationInfo object.
            </summary>
            <param name="info">SerializationInfo object.</param>
            <param name="name">Name of the value to retrieve.</param>
            <param name="defaultValue">Default value when value does not exist.</param>
            <returns>String value.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetInt(System.Runtime.Serialization.SerializationInfo,System.String,System.Int32)">
            <summary>
            Retrieves an integer from a SerializationInfo object.
            </summary>
            <param name="info">SerializationInfo object</param>
            <param name="name">Name of the value to retrieve.</param>
            <param name="defaultValue">Default value when value does not exist.</param>
            <returns>Integer value.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetBool(System.Runtime.Serialization.SerializationInfo,System.String,System.Boolean)">
            <summary>
            Retrieves a boolean from a SerializationInfo object.
            </summary>
            <param name="info">SerializationInfo object.</param>
            <param name="name">Name of the value to retrieve.</param>
            <param name="defaultValue">Default value when value does not exist.</param>
            <returns>Boolean value.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetObject``1(System.Runtime.Serialization.SerializationInfo,System.String,``0)">
            <summary>
            Retrieves an object from a SerializationInfo object.
            </summary>
            <typeparam name="T">Type of the value to read from the serialization information.</typeparam>
            <param name="info">SerializationInfo object.</param>
            <param name="name">Name of the value to retrieve.</param>
            <param name="defaultValue">Default value when value does not exist.</param>
            <returns>object value.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetObject(System.Runtime.Serialization.SerializationInfo,System.String,System.Type,System.Object)">
            <summary>
            Retrieves an object from a SerializationInfo object.
            </summary>
            <param name="info">SerializationInfo object.</param>
            <param name="name">Name of the value to retrieve.</param>
            <param name="type">Type of the object to retrieve.</param>
            <param name="defaultValue">Default value when value does not exist.</param>
            <returns>object value.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.SerializeXml(System.String,System.Object)">
            <summary>
            Serializes the XML.
            </summary>
            <param name="fileName">Name of the file.</param>
            <param name="obj">The object.</param>
            <returns><c>true</c> if the object is serialized to xml successfully; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.DeserializeXml``1(System.String)">
            <summary>
            Deserializes the specified file name to an object.
            </summary>
            <typeparam name="T">Type of the object that is contained in the file.</typeparam>
            <param name="fileName">Name of the file.</param>
            <returns>Deserialized type or <c>null</c> if not successful.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.DeserializeXml``1(System.String,System.String)">
            <summary>
            Deserializes the specified file name to an object. If the object cannot be serialized by the
            full path, the relative path is used as a last resort.
            </summary>
            <typeparam name="T">Type of the object that is contained in the file.</typeparam>
            <param name="fullFileName">Full name of the file.</param>
            <param name="relativeFileName">Name of the relative file.</param>
            <returns>
            Deserialized type or <c>null</c> if not successful.
            </returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetDataContractSerializer(System.Type,System.String)">
            <summary>
            Gets the Data Contract serializer for a specific type. This method caches serializers so the
            performance can be improved when a serializer is used more than once.
            </summary>
            <param name="type">The type to get the xml serializer for.</param>
            <param name="xmlName">Name of the property as known in XML.</param>
            <returns><see cref="T:System.Runtime.Serialization.DataContractSerializer"/> for the given type.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="xmlName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetDataContractSerializer(System.Type,System.String,System.Boolean)">
            <summary>
            Gets the Data Contract serializer for a specific type. This method caches serializers so the
            performance can be improved when a serializer is used more than once.
            </summary>
            <param name="type">The type to get the xml serializer for.</param>
            <param name="xmlName">Name of the property as known in XML.</param>
            <param name="loadFromCache">if set to <c>true</c>, the serializer is retrieved from the cache if possible.</param>
            <returns>
            	<see cref="T:System.Runtime.Serialization.DataContractSerializer"/> for the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="xmlName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetDataContractSerializer(System.Type,System.String,System.Collections.Generic.List{System.Type})">
            <summary>
            Gets the Data Contract serializer for a specific type. This method caches serializers so the
            performance can be improved when a serializer is used more than once.
            </summary>
            <param name="type">The type to get the xml serializer for.</param>
            <param name="xmlName">Name of the property as known in XML.</param>
            <param name="additionalKnownTypes">A list of additional types to add to the known types.</param>
            <returns>
            	<see cref="T:System.Runtime.Serialization.DataContractSerializer"/> for the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="xmlName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetDataContractSerializer(System.Type,System.String,System.Collections.Generic.List{System.Type},System.Boolean)">
            <summary>
            Gets the Data Contract serializer for a specific type. This method caches serializers so the
            performance can be improved when a serializer is used more than once.
            </summary>
            <param name="type">The type to get the xml serializer for.</param>
            <param name="xmlName">Name of the property as known in XML.</param>
            <param name="additionalKnownTypes">A list of additional types to add to the known types.</param>
            <param name="loadFromCache">if set to <c>true</c>, the serializer is retrieved from the cache if possible.</param>
            <returns>
            	<see cref="T:System.Runtime.Serialization.DataContractSerializer"/> for the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="xmlName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetDataContractSerializer(System.Type,System.String,System.Object)">
            <summary>
            Gets the Data Contract serializer for a specific type. This method caches serializers so the
            performance can be improved when a serializer is used more than once.
            </summary>
            <param name="type">The type to get the xml serializer for.</param>
            <param name="xmlName">Name of the property as known in XML.</param>
            <param name="obj">The object to create the serializer for. When the object is not <c>null</c>, the types that are
            a child object of this object are added to the known types of the serializer.</param>
            <returns>
            	<see cref="T:System.Runtime.Serialization.DataContractSerializer"/> for the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="xmlName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetDataContractSerializer(System.Type,System.String,System.Object,System.Boolean)">
            <summary>
            Gets the Data Contract serializer for a specific type. This method caches serializers so the
            performance can be improved when a serializer is used more than once.
            </summary>
            <param name="type">The type to get the xml serializer for.</param>
            <param name="xmlName">Name of the property as known in XML.</param>
            <param name="obj">The object to create the serializer for. When the object is not <c>null</c>, the types that are
            a child object of this object are added to the known types of the serializer.</param>
            <param name="loadFromCache">if set to <c>true</c>, the serializer is retrieved from the cache if possible.</param>
            <returns>
            	<see cref="T:System.Runtime.Serialization.DataContractSerializer"/> for the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="xmlName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetDataContractSerializer(System.Type,System.String,System.Object,System.Collections.Generic.List{System.Type})">
            <summary>
            Gets the Data Contract serializer for a specific type. This method caches serializers so the
            performance can be improved when a serializer is used more than once.
            </summary>
            <param name="type">The type to get the xml serializer for.</param>
            <param name="xmlName">Name of the property as known in XML.</param>
            <param name="obj">The object to create the serializer for. When the object is not <c>null</c>, the types that are
            a child object of this object are added to the known types of the serializer.</param>
            <param name="additionalKnownTypes">A list of additional types to add to the known types.</param>
            <returns>
            	<see cref="T:System.Runtime.Serialization.DataContractSerializer"/> for the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="xmlName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetDataContractSerializer(System.Type,System.String,System.Object,System.Collections.Generic.List{System.Type},System.Boolean)">
            <summary>
            Gets the Data Contract serializer for a specific type. This method caches serializers so the
            performance can be improved when a serializer is used more than once.
            </summary>
            <param name="type">The type to get the xml serializer for.</param>
            <param name="xmlName">Name of the property as known in XML.</param>
            <param name="obj">The object to create the serializer for. When the object is not <c>null</c>, the types that are
            a child object of this object are added to the known types of the serializer.</param>
            <param name="additionalKnownTypes">A list of additional types to add to the known types.</param>
            <param name="loadFromCache">if set to <c>true</c>, the serializer is retrieved from the cache if possible.</param>
            <returns>
            	<see cref="T:System.Runtime.Serialization.DataContractSerializer"/> for the given type.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="xmlName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetKnownTypesForInstance(System.Object)">
            <summary>
            Gets the known types for a specific object instance.
            </summary>
            <param name="obj">The object to retrieve the known types for.</param>
            <returns>
            Array of <see cref="T:System.Type"/> that are found in the object instance.
            </returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetKnownTypesForInstance(System.Object,System.Collections.Generic.List{System.Type},System.Collections.Generic.List{System.Type})">
            <summary>
            Gets the known types for a specific object instance.
            </summary>
            <param name="obj">The object to retrieve the known types for.</param>
            <param name="knownTypeList">The known type list.</param>
            <param name="alreadyCheckedInterfaces">The already checked interfaces.</param>
            <returns>
            Array of <see cref="T:System.Type"/> that are found in the object instance.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="knownTypeList"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="alreadyCheckedInterfaces"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetKnownTypes(System.Type)">
            <summary>
            Gets the known types inside the specific type.
            </summary>
            <param name="type">The type to retrieve the known types for.</param>
            <returns>
            Array of <see cref="T:System.Type"/> that are found in the object type.
            </returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.GetKnownTypes(System.Type,System.Collections.Generic.List{System.Type},System.Collections.Generic.List{System.Type})">
            <summary>
            Gets the known types inside the specific type.
            </summary>
            <param name="type">The type to retrieve the known types for.</param>
            <param name="knownTypeList">The known type list.</param>
            <param name="alreadyCheckedInterfaces">The already checked interfaces.</param>
            <returns>
            Array of <see cref="T:System.Type"/> that are found in the object type.
            </returns>
            <remarks>
            This code originally can be found at:
            http://geekswithblogs.net/SoftwareDoneRight/archive/2008/01/17/xmlserialization---solving-the-quottype-not-statically-knownquot-exception.aspx.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="knownTypeList"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="alreadyCheckedInterfaces"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.IsSpecialCollectionType(System.Type)">
            <summary>
            Determines whether the specified type is a special .NET collection type which should be
            added to the serialization known types.
            <para/>
            All generic collections in the <c>System.Collections.Generic</c> namespace are considered
            special. Besides these classes, the <see cref="T:System.Collections.ObjectModel.ObservableCollection`1"/> is also considered
            special.
            </summary>
            <param name="type">The type.</param>
            <returns>
            	<c>true</c> if the specified type is a special collection type; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.SerializeXml(System.IO.FileStream,System.Object)">
            <summary>
            Serializes the XML.
            </summary>
            <param name="fileStream">The file stream.</param>
            <param name="obj">The object.</param>
            <returns>
            	<c>true</c> if the object is serialized to xml successfully; otherwise <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <param ref="fileStream"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <param ref="obj"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.SerializationHelper.DeserializeXml``1(System.IO.FileStream)">
            <summary>
            Deserializes the specified file name to an object.
            </summary>
            <typeparam name="T">Type of the object that is contained in the file.</typeparam>
            <param name="fileStream">The file stream.</param>
            <returns>
            Deserialized type or <c>null</c> if not successful.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <param ref="fileStream"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <param ref="obj"/> is <c>null</c>.</exception>
        </member>
        <member name="T:Catel.DoWorkDelegate">
            <summary>
            Delegate to execute the work by the <see cref="T:Catel.RetrySafetyCounter"/>.
            </summary>
            <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="T:Catel.IsWorkCompletedDelegate">
            <summary>
            Delegate to check whether work is completed by the <see cref="T:Catel.RetrySafetyCounter"/>.
            </summary>
            <returns><c>true</c> if the work is completed; otherwise <c>false</c>.</returns>
        </member>
        <member name="T:Catel.RetrySafetyCounter">
            <summary>
            Class to use when an action should be retried for a specific amount of time, and between the retries, the thread must
            sleep for a specific amount of time.
            </summary>
            <example>
            <code>
            int safetyCount = 25;
            bool isSucceeded = false;
            while ((isSucceeded != true) &amp;&amp; (safetyCount > 0))
            {
                if (PerformAction())
                {
                    isSucceeded = true;
                }
            
                safetyCount--;
            }
            </code>
            </example>
        </member>
        <member name="M:Catel.RetrySafetyCounter.#ctor(Catel.DoWorkDelegate,Catel.IsWorkCompletedDelegate)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.RetrySafetyCounter"/> class with a default of 25 retries and
            a sleep time of 50 milliseconds.
            </summary>
            <param name="doWorkDelegate">The delegate that actually executes the work that should be done.</param>
            <param name="isWorkCompletedDelegate">The delegate that checks whether the work is successful.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="doWorkDelegate"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="isWorkCompletedDelegate"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.RetrySafetyCounter.#ctor(Catel.DoWorkDelegate,Catel.IsWorkCompletedDelegate,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.RetrySafetyCounter"/> class with a sleep time of 50 milliseconds.
            </summary>
            <param name="doWorkDelegate">The delegate that actually executes the work that should be done.</param>
            <param name="isWorkCompletedDelegate">The delegate that checks whether the work is successful.</param>
            <param name="maximumNumberOfRetries">The number of retries.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="doWorkDelegate"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="isWorkCompletedDelegate"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.RetrySafetyCounter.#ctor(Catel.DoWorkDelegate,Catel.IsWorkCompletedDelegate,System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.RetrySafetyCounter"/> class.
            </summary>
            <param name="doWorkDelegate">The delegate that actually executes the work that should be done.</param>
            <param name="isWorkCompletedDelegate">The delegate that checks whether the work is successful.</param>
            <param name="maximumNumberOfRetries">The number of retries.</param>
            <param name="millisecondsToSleep">The milliseconds to sleep.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="doWorkDelegate"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="isWorkCompletedDelegate"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.RetrySafetyCounter.DoWork">
            <summary>
            Executes the work that has to be performed in the while loop. If the <see cref="P:Catel.RetrySafetyCounter.DoWorkDelegate"/>
            returns <c>false</c> at any moment, the loop will be exited, even when number of retries left has not yet reached
            zero.
            </summary>
            <returns><c>true</c> if succeeded; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Catel.RetrySafetyCounter.Reset">
            <summary>
            Resets the counter.
            </summary>
        </member>
        <member name="P:Catel.RetrySafetyCounter.DoWorkDelegate">
            <summary>
            Gets or sets the delegate that actually executes the work that should be done.
            </summary>
            <value>The delegate.</value>
        </member>
        <member name="P:Catel.RetrySafetyCounter.IsWorkCompletedDelegate">
            <summary>
            Gets or sets the delegate that checks whether the work is successful.
            </summary>
            <value>The delegate.</value>
        </member>
        <member name="P:Catel.RetrySafetyCounter.IsSuccessful">
            <summary>
            Gets a value indicating whether this <see cref="T:Catel.RetrySafetyCounter"/> is successful.
            </summary>
            <value><c>true</c> if successful; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Catel.RetrySafetyCounter.MaximumNumberOfRetries">
            <summary>
            Gets or sets the maximum number of retries.
            </summary>
            <value>The maximum number of retries.</value>
        </member>
        <member name="P:Catel.RetrySafetyCounter.NumberOfRetries">
            <summary>
            Gets the number of retries.
            </summary>
            <value>The number of retries.</value>
        </member>
        <member name="P:Catel.RetrySafetyCounter.NumberOfRetriesLeft">
            <summary>
            Gets the number of retries left.
            </summary>
            <value>The number of retries left.</value>
        </member>
        <member name="P:Catel.RetrySafetyCounter.MillisecondsToSleep">
            <summary>
            Gets or sets the milliseconds to sleep.
            </summary>
            <value>The milliseconds to sleep.</value>
        </member>
        <member name="T:Catel.MVVM.Services.ICompassValue">
            <summary>
            Value information about the compass.
            </summary>
        </member>
        <member name="P:Catel.MVVM.Services.ICompassValue.Timestamp">
            <summary>
            Gets the timestamp.
            </summary>
            <value>The timestamp.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ICompassValue.HeadingAccuracy">
            <summary>
            Gets the accuracy, in degrees, of the compass heading readings.
            </summary>
            <value>The accuracy of the compass heading readings.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ICompassValue.MagneticHeading">
            <summary>
            Gets the heading, in degrees, measured clockwise from the Earth’s magnetic north.
            </summary>
            <value>The heading relative to the Earth’s magnetic north.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ICompassValue.MagnetometerReading">
            <summary>
            Gets the raw magnetometer reading in microteslas.
            </summary>
            <value>The raw magnetometer reading.</value>
        </member>
        <member name="P:Catel.MVVM.Services.ICompassValue.TrueHeading">
            <summary>
            Gets the heading, in degrees, measured clockwise from the Earth’s geographic north.
            </summary>
            <value>The heading relative to the Earth’s geographic north.</value>
        </member>
        <member name="T:Catel.MVVM.Services.CameraOperationCompletedEventArgs">
            <summary>
            <see cref="T:System.EventArgs"/> for camera operations.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.CameraOperationCompletedEventArgs.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.Services.CameraOperationCompletedEventArgs"/> class.
            </summary>
            <param name="ex">The exception that occurred. If no exception has occurred, pass <c>null</c>.</param>
        </member>
        <member name="P:Catel.MVVM.Services.CameraOperationCompletedEventArgs.Exception">
            <summary>
            Gets the exception that occurred if any exception occurred. If no exception occurred,
            this value is <c>null</c>.
            </summary>
            <value>The exception.</value>
        </member>
        <member name="P:Catel.MVVM.Services.CameraOperationCompletedEventArgs.Succeeded">
            <summary>
            Gets or sets a value indicating whether the operation is succeeded.
            </summary>
            <value><c>true</c> if succeeded; otherwise, <c>false</c>.</value>
        </member>
        <member name="T:Catel.Data.PropertyAlreadyRegisteredException">
            <summary>
            Exception when a property is added to the <see cref="T:Catel.Data.DataObjectBase`1"/> class that is
            already registered by the object.
            </summary>
        </member>
        <member name="M:Catel.Data.PropertyAlreadyRegisteredException.#ctor(System.String,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.PropertyAlreadyRegisteredException"/> class.
            </summary>
            <param name="propertyName">Name of the property that caused the exception.</param>
            <param name="propertyType">Type of the object that is trying to register the property.</param>
        </member>
        <member name="P:Catel.Data.PropertyAlreadyRegisteredException.PropertyName">
            <summary>
            Gets or sets the property name.
            </summary>
            <value>The property name.</value>
        </member>
        <member name="P:Catel.Data.PropertyAlreadyRegisteredException.PropertyType">
            <summary>
            Gets or sets the property type for which the property is already registered.
            </summary>
            <value>The property type for which the property is already registered.</value>
        </member>
        <member name="T:Catel.Data.AllowNonSerializableMembersAttribute">
            <summary>
            Attribute to define that a <see cref="T:Catel.Data.DataObjectBase"/> class can contain non-serializable members. This attribute
            must be used with care, because it will disable the serialization functionality of the <see cref="T:Catel.Data.DataObjectBase"/>.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.IAccelerometerValue">
            <summary>
            Value information about the accelerometer.
            </summary>
        </member>
        <member name="P:Catel.MVVM.Services.IAccelerometerValue.Timestamp">
            <summary>
            Gets the timestamp.
            </summary>
            <value>The timestamp.</value>
        </member>
        <member name="P:Catel.MVVM.Services.IAccelerometerValue.X">
            <summary>
            Gets the X coordinate.
            </summary>
            <value>The X coordinate.</value>
        </member>
        <member name="P:Catel.MVVM.Services.IAccelerometerValue.Y">
            <summary>
            Gets the Y coordinate.
            </summary>
            <value>The Y coordinate.</value>
        </member>
        <member name="P:Catel.MVVM.Services.IAccelerometerValue.Z">
            <summary>
            Gets the Z coordinate.
            </summary>
            <value>The Z coordinate.</value>
        </member>
        <member name="T:Catel.Logging.ILog">
            <summary>
            Log interface.
            </summary>
        </member>
        <member name="M:Catel.Logging.ILog.Debug(System.String)">
            <summary>
            Writes the specified message as debug message.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Debug(System.String,System.Object[])">
            <summary>
            Writes the specified message as debug message.
            </summary>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Debug(System.Exception)">
            <summary>
            Writes the specified exception as debug message.
            </summary>
            <param name="exception">The exception.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Debug(System.Exception,System.String)">
            <summary>
            Writes the specified exception as debug message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Debug(System.Exception,System.String,System.Object[])">
            <summary>
            Writes the specified exception as debug message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Info(System.String)">
            <summary>
            Writes the specified message as info message.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Info(System.String,System.Object[])">
            <summary>
            Writes the specified message as info message.
            </summary>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Info(System.Exception)">
            <summary>
            Writes the specified exception as info message.
            </summary>
            <param name="exception">The exception.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Info(System.Exception,System.String)">
            <summary>
            Writes the specified exception as info message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Info(System.Exception,System.String,System.Object[])">
            <summary>
            Writes the specified exception as info message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Warning(System.String)">
            <summary>
            Writes the specified message as warning message.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Warning(System.String,System.Object[])">
            <summary>
            Writes the specified message as warning message.
            </summary>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Warning(System.Exception)">
            <summary>
            Writes the specified exception as warning message.
            </summary>
            <param name="exception">The exception.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Warning(System.Exception,System.String)">
            <summary>
            Writes the specified exception as warning message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Warning(System.Exception,System.String,System.Object[])">
            <summary>
            Writes the specified exception as warning message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Error(System.String)">
            <summary>
            Writes the specified message as error message.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Error(System.String,System.Object[])">
            <summary>
            Writes the specified message as error message.
            </summary>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Error(System.Exception)">
            <summary>
            Writes the specified exception as error message.
            </summary>
            <param name="exception">The exception.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Error(System.Exception,System.String)">
            <summary>
            Writes the specified exception as error message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.ILog.Error(System.Exception,System.String,System.Object[])">
            <summary>
            Writes the specified exception as error message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
            <param name="args">The formatting arguments.</param>
        </member>
        <member name="P:Catel.Logging.ILog.TargetType">
            <summary>
            Gets the target type of the log. This is the type where the log is created for.
            </summary>
            <value>The type of the target.</value>
        </member>
        <member name="E:Catel.Logging.ILog.LogMessage">
            <summary>
              Occurs when a message is written to the log.
            </summary>
        </member>
        <member name="T:Catel.IoC.ExternalContainerNotSupportedException">
            <summary>
            Exception class in case an external container is not supported by the <see cref="T:Catel.IoC.IServiceLocator"/> implementation.
            </summary>
        </member>
        <member name="M:Catel.IoC.ExternalContainerNotSupportedException.#ctor(System.String[])">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.IoC.ExternalContainerNotSupportedException"/> class.
            </summary>
            <param name="supportedContainers">The supported containers.</param>
        </member>
        <member name="M:Catel.IoC.ExternalContainerNotSupportedException.FormatMessage(System.String[])">
            <summary>
            Formats the error message.
            </summary>
            <param name="supportedContainers">The supported containers.</param>
            <returns>The formatted error message.</returns>
        </member>
        <member name="P:Catel.IoC.ExternalContainerNotSupportedException.SupportedContainers">
            <summary>
            Gets the names of the supported containers.
            </summary>
            <value>The supported containers.</value>
        </member>
        <member name="T:Catel.TypeHelper">
            <summary>
            	<see cref="T:System.Type"/> helper class.
            </summary>
        </member>
        <member name="F:Catel.TypeHelper.Log">
            <summary>
              The <see cref="T:Catel.Logging.ILog">log</see> object.
            </summary>
        </member>
        <member name="M:Catel.TypeHelper.GetType(System.String,System.String)">
            <summary>
            Gets the specified type from the loaded assemblies. This is a great way to load types without having
            to know the exact version in Silverlight.
            </summary>
            <param name="typeName">The name of the type including namespace.</param>
            <param name="assemblyName">The name of the type including namespace.</param>
            <returns>The <see cref="T:System.Type"/> or <c>null</c> if the type cannot be found.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="typeName"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="assemblyName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.TypeHelper.GetTypes">
            <summary>
            Gets all the types from the current <see cref="T:System.AppDomain"/>.
            </summary>
            <returns>An array containing all the <see cref="T:System.Type"/>.</returns>
        </member>
        <member name="M:Catel.TypeHelper.GetTypes(System.Func{System.Type,System.Boolean})">
            <summary>
            Gets all the types from the current <see cref="T:System.AppDomain"/> where the <paramref name="predicate"/> returns true.
            </summary>
            <param name="predicate">The predicate where the type should apply to.</param>
            <returns>An array containing all the <see cref="T:System.Type"/> that match the predicate.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="predicate"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.TypeHelper.InitializeTypes(System.Boolean)">
            <summary>
            Initializes the types in Silverlight. It does this by looping through all loaded assemblies and
            registering the type by type name and assembly name.
            <para/>
            The types initialized by this method are used by <see cref="M:Catel.TypeHelper.GetType(System.String,System.String)"/>.
            </summary>
            <param name="forceFullInitialization">If <c>true</c>, the types are initialized, even when the types are already initialized.</param>
        </member>
        <member name="M:Catel.TypeHelper.IsSubclassOfRawGeneric(System.Type,System.Type)">
            <summary>
              Determines whether the subclass is of a raw generic type.
            </summary>
            <param name="generic">The generic.</param>
            <param name="toCheck">The type to check.</param>
            <returns>
              <c>true</c> if the subclass is of a raw generic type; otherwise, <c>false</c>.
            </returns>
            <remarks>
              This implementation is based on this forum thread:
              http://stackoverflow.com/questions/457676/c-reflection-check-if-a-class-is-derived-from-a-generic-class
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="generic"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="toCheck"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.TypeHelper.GetAssemblyNameWithoutOverhead(System.String)">
            <summary>
            Gets the assembly name without overhead (version, public keytoken, etc)
            </summary>
            <param name="fullyQualifiedAssemblyName">Name of the fully qualified assembly.</param>
            <returns>The assembly without the overhead.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="fullyQualifiedAssemblyName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.TypeHelper.FormatType(System.String,System.String)">
            <summary>
              Formats a type in the official type description like [typename], [assemblyname].
            </summary>
            <param name="assembly">Assembly name to format.</param>
            <param name="type">Type name to format.</param>
            <returns>Type name like [typename], [assemblyname].</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="assembly"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="type"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.TypeHelper.FormatInnerTypes(System.String[])">
            <summary>
              Formats multiple inner types into one string.
            </summary>
            <param name = "innerTypes">The inner types.</param>
            <returns>
              string representing a combination of all inner types.
            </returns>
        </member>
        <member name="M:Catel.TypeHelper.IsTypeNullable(System.Type)">
            <summary>
              Returns whether a type is nullable or not.
            </summary>
            <param name = "type">Type to check.</param>
            <returns>
              True if the type is nullable, otherwise false.
            </returns>
        </member>
        <member name="M:Catel.TypeHelper.AreObjectsEqual(System.Object,System.Object)">
            <summary>
              Checks whether the 2 specified objects are equal. This method is better, simple because it also checks boxing so
              2 integers with the same values that are boxed are equal.
            </summary>
            <param name = "object1">The first object.</param>
            <param name = "object2">The second object.</param>
            <returns><c>true</c> if the objects are equal; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Catel.TypeHelper.GetPropertyInfo(System.Type,System.String)">
            <summary>
              Gets the <see cref="T:System.Reflection.PropertyInfo"/> for the specified property.
            </summary>
            <param name="type">The type that contains the properties.</param>
            <param name="property">The property name.</param>
            <returns>
              <see cref="T:System.Reflection.PropertyInfo"/> or <c>null</c> if no property info is found.
            </returns>
        </member>
        <member name="M:Catel.TypeHelper.TryCast``2(``1,``0@)">
            <summary>
              Tries to Generic cast of a value.
            </summary>
            <typeparam name = "TOutput">Requested return type.</typeparam>
            <typeparam name = "TInput">The input type.</typeparam>
            <param name = "value">The value to cast.</param>
            <param name = "output">The casted value.</param>
            <returns>When a cast is succeded true else false.</returns>
        </member>
        <member name="M:Catel.TypeHelper.Cast``2(``1)">
            <summary>
              Generic cast of a value.
            </summary>
            <typeparam name = "TOutput">Requested return type.</typeparam>
            <typeparam name = "TInput">The input type.</typeparam>
            <param name = "value">The value to cast.</param>
            <returns>The casted value.</returns>
        </member>
        <member name="M:Catel.TypeHelper.Cast``2(``1,``0)">
            <summary>
              Generic cast of a value.
            </summary>
            <typeparam name = "TOutput">Requested return type.</typeparam>
            <typeparam name = "TInput">The input type.</typeparam>
            <param name = "value">The value to cast.</param>
            <param name = "whenNullValue">When unable to cast the incoming value, this value is returned instead.</param>
            <returns>The casted value or when uncastable the <paramref name = "whenNullValue" /> is returned.</returns>
        </member>
        <member name="M:Catel.TypeHelper.CombineHash(System.Int32[])">
            <summary>
              Combine multiple hashcodes in to one.
            </summary>
            <param name="hashes">An array of hashcodes.</param>
            <returns>An 'unique' hashcode.</returns>
            <remarks>
              Based on System.Web.UI.HashCodeCombiner (use Reflector).
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="hashes"/> is <c>null</c> or an empty array.</exception>
        </member>
        <member name="T:Catel.Enum`1">
            <summary>
            Generic enumeration wrapper.
            </summary>
            <typeparam name="TEnum">Type of the enumeration to wrap.</typeparam>
        </member>
        <member name="M:Catel.Enum`1.#cctor">
            <summary>
            Initializes static members of the <see cref="T:Catel.Enum`1"/> class.
            </summary>
        </member>
        <member name="M:Catel.Enum`1.ToList">
            <summary>
            Converts an enumaration to a list.
            </summary>
            <returns><see cref="T:System.Collections.Generic.List`1"/> containing all the values.</returns>
        </member>
        <member name="M:Catel.Enum`1.ConvertFromOtherEnumValue(System.Object)">
            <summary>
            Converts a specific enum value from one specific enum type to another enum type by it's name.
            <para/>
            For example, to convert <c>Catel.MVVM.Services.CameraType</c> to <c>Microsoft.Devices.CameraType</c>, use the
            following code:
            <para/>
            ConvertEnum&lt;Microsoft.Devices.CameraType&gt;(Catel.MVVM.Services.CameraType.Primary);
            </summary>
            <param name="inputEnumValue">The input enum value.</param>
            <returns>The converted enum value.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="inputEnumValue"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="inputEnumValue"/> is not of type <see cref="T:System.Enum"/>.</exception>
            <exception cref="T:System.ArgumentException">The value of <paramref name="inputEnumValue"/> cannot be converted to a value of <typeparamref name="TEnum"/>.</exception>
        </member>
        <member name="M:Catel.Enum`1.GetName(System.Int32)">
            <summary>
            Gets the name.
            </summary>
            <param name="value">The value.</param>
            <returns>The name of the value.</returns>
        </member>
        <member name="M:Catel.Enum`1.GetName(System.Int64)">
            <summary>
            Gets the name.
            </summary>
            <param name="value">The value.</param>
            <returns>The name of the value.</returns>
        </member>
        <member name="M:Catel.Enum`1.GetNames">
            <summary>
            Gets the names.
            </summary>
            <returns>Array of names of an enum.</returns>
        </member>
        <member name="M:Catel.Enum`1.GetValues(System.Type)">
            <summary>
            Gets the values from an enum.
            </summary>
            <param name="enumType">Type of the enum.</param>
            <returns><see cref="T:System.Collections.Generic.List`1"/> of values.</returns>
        </member>
        <member name="M:Catel.Enum`1.GetValues``1">
            <summary>
            Gets the values.
            </summary>
            <typeparam name="T">Type of the enum.</typeparam>
            <returns><see cref="T:System.Collections.Generic.List`1"/> of values.</returns>
        </member>
        <member name="M:Catel.Enum`1.TryParse(System.String,System.Nullable{`0}@)">
            <summary>
            Tries to parse an enum value name.
            </summary>
            <param name="input">The input.</param>
            <param name="result">The result.</param>
            <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Catel.Enum`1.TryParse(System.String,`0@)">
            <summary>
            Tries to parse an enum value name.
            </summary>
            <param name="input">The input.</param>
            <param name="result">The result.</param>
            <returns><c>true</c> if successful; otherwise <c>false</c>.</returns>
        </member>
        <member name="M:Catel.Enum`1.GetName(`0)">
            <summary>
            Gets the name.
            </summary>
            <param name="value">The value.</param>
            <returns>The name of the value.</returns>
        </member>
        <member name="T:Catel.Enum`1.DataBinding">
            <summary>
            DataBinding class.
            </summary>
        </member>
        <member name="M:Catel.Enum`1.DataBinding.CreateList">
            <summary>
            Creates a list.
            </summary>
            <returns>Empty generic bindable enum list.</returns>
        </member>
        <member name="M:Catel.Enum`1.DataBinding.CreateList(Catel.Enum{`0}.DataBinding.FormatEnumName)">
            <summary>
            Creates a list based on an enum.
            </summary>
            <param name="formatName">Name of the format.</param>
            <returns>List containing bindable enums based on the format name.</returns>
        </member>
        <member name="T:Catel.Enum`1.DataBinding.FormatEnumName">
            <summary>
            Delegate used for formatting an enum name.
            </summary>
            <param name="value">The value to format.</param>
            <returns>String containing the enum name.</returns>
        </member>
        <member name="T:Catel.Enum`1.DataBinding.InternalBindableEnum">
            <summary>
            Internal bindable enum.
            </summary>
        </member>
        <member name="T:Catel.IBindableEnum`1">
            <summary>
            Bindable enumeration.
            </summary>
            <typeparam name="TEnum">The type of the enum.</typeparam>
        </member>
        <member name="P:Catel.IBindableEnum`1.Name">
            <summary>
            Gets the name.
            </summary>
            <value>The name of the bindable enum.</value>
        </member>
        <member name="P:Catel.IBindableEnum`1.Value">
            <summary>
            Gets the value.
            </summary>
            <value>The value of the bindable enum.</value>
        </member>
        <member name="F:Catel.Enum`1.DataBinding.InternalBindableEnum._name">
            <summary>
            Name of the internal bindable enum.
            </summary>
        </member>
        <member name="F:Catel.Enum`1.DataBinding.InternalBindableEnum._value">
            <summary>
            Value of the internal bindable enum.
            </summary>
        </member>
        <member name="M:Catel.Enum`1.DataBinding.InternalBindableEnum.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Enum`1.DataBinding.InternalBindableEnum"/> class.
            </summary>
            <param name="value">The value.</param>
        </member>
        <member name="M:Catel.Enum`1.DataBinding.InternalBindableEnum.#ctor(`0,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Enum`1.DataBinding.InternalBindableEnum"/> class.
            </summary>
            <param name="value">The value of the internal bindable enum.</param>
            <param name="name">The name of the internal bindable enum.</param>
        </member>
        <member name="M:Catel.Enum`1.DataBinding.InternalBindableEnum.CompareTo(Catel.IBindableEnum{`0})">
            <summary>
            Compares the current object with another object of the same type.
            </summary>
            <param name="other">An object to compare with this object.</param>
            <returns>
            A 32-bit signed integer that indicates the relative order of the objects being compared.
            The return value has the following meanings: Value Meaning Less than zero This object is less
            than the other parameter.  Zero This object is equal to other. Greater than zero This object is
            greater than other.
            </returns>
        </member>
        <member name="M:Catel.Enum`1.DataBinding.InternalBindableEnum.Equals(Catel.IBindableEnum{`0})">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/> is equal to this instance.
            </summary>
            <param name="other">The <see cref="T:System.Object"/> to compare with this instance.</param>
            <returns>
            	<c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.NullReferenceException">
            The <paramref name="other"/> parameter is null.
            </exception>
        </member>
        <member name="P:Catel.Enum`1.DataBinding.InternalBindableEnum.Name">
            <summary>
            Gets the name.
            </summary>
            <value>The name of the enum.</value>
        </member>
        <member name="P:Catel.Enum`1.DataBinding.InternalBindableEnum.Value">
            <summary>
            Gets the value.
            </summary>
            <value>The value of the enum.</value>
        </member>
        <member name="T:Catel.Enum`1.Flags">
            <summary>
            Flags class.
            </summary>
        </member>
        <member name="F:Catel.Enum`1.Flags.TypeCode">
            <summary>
            Type code of the flags.
            </summary>
        </member>
        <member name="M:Catel.Enum`1.Flags.#cctor">
            <summary>
            Initializes static members of the <see cref="T:Catel.Enum`1.Flags"/> class.
            </summary>
        </member>
        <member name="M:Catel.Enum`1.Flags.ClearFlag(`0,`0)">
            <summary>
            Clears the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToClear">The flag to clear.</param>
            <returns>Flags without the flag that should be cleared.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.ClearFlag(System.Int32,`0)">
            <summary>
            Clears the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToClear">The flag to clear.</param>
            <returns>Flags without the flag that should be cleared.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.ClearFlag(System.Int64,`0)">
            <summary>
            Clears the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToClear">The flag to clear.</param>
            <returns>Flags without the flag that should be cleared.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.ClearFlag(System.Int32,System.Int32)">
            <summary>
            Clears the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToClear">The flag to clear.</param>
            <returns>Flags without the flag that should be cleared.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.ClearFlag(System.Int64,System.Int64)">
            <summary>
            Clears the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToClear">The flag to clear.</param>
            <returns>Flags without the flag that should be cleared.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.IsFlagSet(`0,`0)">
            <summary>
            Determines whether a specific flag is set.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToFind">The flag to find.</param>
            <returns>
            	<c>true</c> if the flag is set; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.IsFlagSet(System.Int32,`0)">
            <summary>
            Determines whether a specific flag is set.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToFind">The flag to find.</param>
            <returns>
            	<c>true</c> if the flag is set; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.IsFlagSet(System.Int64,`0)">
            <summary>
            Determines whether a specific flag is set.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToFind">The flag to find.</param>
            <returns>
            	<c>true</c> if the flag is set; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.IsFlagSet(System.Int32,System.Int32)">
            <summary>
            Determines whether a specific flag is set.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToFind">The flag to find.</param>
            <returns>
            	<c>true</c> if the flag is set; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.IsFlagSet(System.Int64,System.Int64)">
            <summary>
            Determines whether a specific flag is set.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToFind">The flag to find.</param>
            <returns>
            	<c>true</c> if the flag is set; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.SetFlag(`0,`0)">
            <summary>
            Sets the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToSet">The flag to set.</param>
            <returns>Flags with the flag that should be set.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.SetFlag(System.Int32,`0)">
            <summary>
            Sets the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToSet">The flag to set.</param>
            <returns>Flags with the flag that should be set.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.SetFlag(System.Int64,`0)">
            <summary>
            Sets the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToSet">The flag to set.</param>
            <returns>Flags with the flag that should be set.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.SetFlag(System.Int32,System.Int32)">
            <summary>
            Sets the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToSet">The flag to set.</param>
            <returns>Flags with the flag that should be set.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.SetFlag(System.Int64,System.Int64)">
            <summary>
            Sets the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToSet">The flag to set.</param>
            <returns>Flags with the flag that should be set.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.SwapFlag(`0,`0)">
            <summary>
            Swaps the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToSwap">The flag to swap.</param>
            <returns>Flags with the flag swapped that should be swapped.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.SwapFlag(System.Int32,`0)">
            <summary>
            Swaps the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToSwap">The flag to swap.</param>
            <returns>Flags with the flag swapped that should be swapped.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.SwapFlag(System.Int64,`0)">
            <summary>
            Swaps the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToSwap">The flag to swap.</param>
            <returns>Flags with the flag swapped that should be swapped.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.SwapFlag(System.Int32,System.Int32)">
            <summary>
            Swaps the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToSwap">The flag to swap.</param>
            <returns>Flags with the flag swapped that should be swapped.</returns>
        </member>
        <member name="M:Catel.Enum`1.Flags.SwapFlag(System.Int64,System.Int64)">
            <summary>
            Swaps the flag.
            </summary>
            <param name="flags">The flags.</param>
            <param name="flagToSwap">The flag to swap.</param>
            <returns>Flags with the flag swapped that should be swapped.</returns>
        </member>
        <member name="T:Catel.Diagnostics.OutputTraceListener">
            <summary>
            Output trace listener.
            </summary>
        </member>
        <member name="M:Catel.Diagnostics.OutputTraceListener.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Diagnostics.OutputTraceListener"/> class.
            </summary>
        </member>
        <member name="M:Catel.Diagnostics.OutputTraceListener.OnTrace(System.String,System.Diagnostics.TraceEventType)">
            <summary>
            Called when a new trace has occurred.
            </summary>
            <param name="message">The message that is traced.</param>
            <param name="eventType">Type of the event.</param>
        </member>
        <member name="E:Catel.Diagnostics.OutputTraceListener.WrittenLine">
            <summary>
            Occurs when a new line is written to this trace listener.
            </summary>
        </member>
        <member name="T:Catel.Diagnostics.OutputTraceListener.WrittenLineDelegate">
            <summary>
            Delegate for the WrittenLine event.
            </summary>
            <param name="message">The message that is traced.</param>
            <param name="eventType">Type of the event.</param>
        </member>
        <member name="T:Catel.Data.PropertyDataManager">
            <summary>
            Property data manager.
            </summary>
        </member>
        <member name="F:Catel.Data.PropertyDataManager._propertyData">
            <summary>
            Dictionary containing all the properties per type.
            </summary>
        </member>
        <member name="F:Catel.Data.PropertyDataManager._propertyDataLock">
            <summary>
            Lock object for the <see cref="F:Catel.Data.PropertyDataManager._propertyData"/> field.
            </summary>
        </member>
        <member name="F:Catel.Data.PropertyDataManager._xmlNameToPropertyNameMappings">
            <summary>
            Dictionary to provide fast xml name to property name mappings.
            </summary>
        </member>
        <member name="F:Catel.Data.PropertyDataManager._xmlPropertyNameToXmlNameMappings">
            <summary>
            Dictionary to provide fast property name to xml name mappings.
            </summary>
        </member>
        <member name="M:Catel.Data.PropertyDataManager.GetProperties(System.Type)">
            <summary>
            Gets the properties of a specific type.
            </summary>
            <param name="type">The type for which the properties to return.</param>
            <returns>Dictionary with the properties.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Data.PropertyDataManager.RegisterProperty(System.Type,System.String,Catel.Data.PropertyData)">
            <summary>
            Registers a property for a specific type.
            </summary>
            <param name="type">The type for which to register the property.</param>
            <param name="name">The name of the property.</param>
            <param name="propertyData">The property data.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyData"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.Data.PropertyAlreadyRegisteredException">A property with the same name is already registered.</exception>
        </member>
        <member name="M:Catel.Data.PropertyDataManager.IsPropertyRegistered(System.Type,System.String)">
            <summary>
            Returns whether a specific property is registered.
            </summary>
            <param name="type">The type for which to check whether the property is registered.</param>
            <param name="name">The name of the property.</param>
            <returns>
            True if the property is registered, otherwise false.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.PropertyDataManager.GetPropertyData(System.Type,System.String)">
            <summary>
            Gets the property data.
            </summary>
            <param name="type">The type for which to get the property data.</param>
            <param name="name">The name of the property.</param>
            <returns>The <see cref="T:Catel.Data.PropertyData"/> of the requested property.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:Catel.Data.PropertyNotRegisteredException">Thrown when the property is not registered.</exception>
        </member>
        <member name="M:Catel.Data.PropertyDataManager.IsXmlNameMappedToProperty(System.Type,System.String)">
            <summary>
            Determines whether the specified XML element is mapped to a property name.
            </summary>
            <param name="type">The type.</param>
            <param name="xmlName">Name of the XML.</param>
            <returns>
            	<c>true</c> if the XML element is mapped to a property name; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="xmlName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.PropertyDataManager.MapXmlNameToPropertyName(System.Type,System.String)">
            <summary>
            Maps the name of the XML element to a property name.
            </summary>
            <param name="type">The type for which to make the xml name.</param>
            <param name="xmlName">Name of the XML element.</param>
            <returns>
            Name of the property that represents the xml value.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="xmlName"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Data.PropertyDataManager.MapPropertyNameToXmlName(System.Type,System.String)">
            <summary>
            Maps the name of the property name to an XML name.
            </summary>
            <param name="type">The type for which to make the xml name.</param>
            <param name="propertyName">Name of the property.</param>
            <returns>
            Name of the XML element that represents the property value.
            </returns>
        </member>
        <member name="M:Catel.Data.PropertyDataManager.InitializeXmlPropertyMappings(System.Type)">
            <summary>
            Initializes the XML property mappings.
            </summary>
            <param name="type">The type for which to initialize the xml mappings.</param>
        </member>
        <member name="T:Catel.MVVM.Services.PageNotRegisteredException">
            <summary>
            Exception in case a page not registered, but still being used.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.PageNotRegisteredException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.Services.PageNotRegisteredException"/> class.
            </summary>
            <param name="name">The name of the page.</param>
        </member>
        <member name="P:Catel.MVVM.Services.PageNotRegisteredException.Name">
            <summary>
            Gets the name of the page.
            </summary>
            <value>The name of the page.</value>
        </member>
        <member name="T:Catel.MVVM.Services.CompassValueChangedEventArgs">
            <summary>
            <see cref="T:System.EventArgs"/> implementation which contains a new compass value.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.CompassValueChangedEventArgs.#ctor(Catel.MVVM.Services.ICompassValue)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.Services.CompassValueChangedEventArgs"/> class.
            </summary>
            <param name="newValue">The new compass value.</param>
        </member>
        <member name="P:Catel.MVVM.Services.CompassValueChangedEventArgs.Value">
            <summary>
            Gets the new gyroscope value.
            </summary>
            <value>The new gyroscope value.</value>
        </member>
        <member name="T:Catel.ExpressionHelper">
            <summary>
            Expression helper class that allows easy parsing of expressions.
            </summary>
        </member>
        <member name="F:Catel.ExpressionHelper.Log">
            <summary>
            The <see cref="T:Catel.Logging.ILog">log</see> object.
            </summary>
        </member>
        <member name="M:Catel.ExpressionHelper.GetPropertyName``1(System.Linq.Expressions.Expression{System.Func{``0}})">
            <summary>
            Gets the name of the property from the expression.
            </summary>
            <typeparam name="TProperty">The type of the property.</typeparam>
            <param name="propertyExpression">The property expression.</param>
            <returns>The name of the property parsed from the expression or <c>null</c> if the property cannot be found.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyExpression"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.ExpressionHelper.GetOwner``1(System.Linq.Expressions.Expression{System.Func{``0}})">
            <summary>
            Gets the owner of the expression. For example if the expression <c>() =&gt; MyProperty</c>, the owner of the
            property will be returned.
            </summary>
            <typeparam name="TProperty">The type of the property.</typeparam>
            <param name="propertyExpression">The property expression.</param>
            <returns>The owner of the expression or <c>null</c> if the owner cannot be found.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyExpression"/> is <c>null</c>.</exception>
        </member>
        <member name="T:Catel.Data.PropertyChangedWithSenderEventArgs">
            <summary>
            Property changed event args that are used when a property has changed. The event arguments contains both
            the original sender as the current sender of the event.
            </summary>
        </member>
        <member name="M:Catel.Data.PropertyChangedWithSenderEventArgs.#ctor(System.Object,System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.PropertyChangedWithSenderEventArgs"/> class.
            </summary>
            <param name="originalSender">The original sender.</param>
            <param name="latestSender">The latest sender.</param>
            <param name="eventArgs">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.Data.PropertyChangedWithSenderEventArgs.#ctor(System.Object,System.Object,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.PropertyChangedWithSenderEventArgs"/> class.
            </summary>
            <param name="originalSender">The original sender.</param>
            <param name="latestSender">The latest sender.</param>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="P:Catel.Data.PropertyChangedWithSenderEventArgs.OriginalSender">
            <summary>
            Gets the original sender.
            </summary>
            <value>The original sender.</value>
        </member>
        <member name="P:Catel.Data.PropertyChangedWithSenderEventArgs.LatestSender">
            <summary>
            Gets the latest sender.
            </summary>
            <value>The latest sender.</value>
        </member>
        <member name="T:Catel.Collections.CollectionHelper">
            <summary>
            Collection helper class.
            </summary>
        </member>
        <member name="M:Catel.Collections.CollectionHelper.IsEqualTo(System.Collections.IEnumerable,System.Collections.IEnumerable)">
            <summary>
            Checks whether a collection is the same as another collection.
            </summary>
            <param name="listA">The list A.</param>
            <param name="listB">The list B.</param>
            <returns>
            True if the two collections contain all the same items in the same order.
            </returns>
        </member>
        <member name="T:Catel.MVVM.IViewModel">
            <summary>
            View model interface.
            </summary>
        </member>
        <member name="M:Catel.MVVM.IViewModel.InitializeViewModel">
            <summary>
            Initializes the view model. Normally the initialization is done in the constructor, but sometimes this must be delayed
            to a state where the associated UI element (user control, window, ...) is actually loaded.
            <para />
            This method is called as soon as the associated UI element is loaded.
            </summary>
            <remarks>
            It's not recommended to implement the initialization of properties in this method. The initialization of properties
            should be done in the constructor. This method should be used to start the retrieval of data from a web service or something
            similar.
            <para />
            During unit tests, it is recommended to manually call this method because there is no external container calling this method.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.IViewModel.ValidateViewModel">
            <summary>
            Validates the data.
            </summary>
            <returns>
            	<c>true</c> if validation succeeds; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.IViewModel.ValidateViewModel(System.Boolean,System.Boolean)">
            <summary>
            Validates the specified notify changed properties only.
            </summary>
            <param name="force">if set to <c>true</c>, a validation is forced (even if the object knows it is already validated).</param>
            <param name="notifyChangedPropertiesOnly">if set to <c>true</c> only the properties for which the warnings or errors have been changed
            will be updated via <see cref="E:System.ComponentModel.INotifyPropertyChanged.PropertyChanged"/>; otherwise all the properties that
            had warnings or errors but not anymore and properties still containing warnings or errors will be updated.</param>
            <returns>
            	<c>true</c> if validation succeeds; otherwise <c>false</c>.
            </returns>
            <remarks>
            This method is useful when the view model is initialized before the window, and therefore WPF does not update the errors and warnings.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.IViewModel.CancelViewModel">
            <summary>
            Cancels the editing of the data.
            </summary>
        </member>
        <member name="M:Catel.MVVM.IViewModel.CancelAndCloseViewModel">
            <summary>
            Cancels the editing of the data, but also closes the view model in the same call.
            </summary>
        </member>
        <member name="M:Catel.MVVM.IViewModel.SaveViewModel">
            <summary>
            Saves the data.
            </summary>
            <returns>
            	<c>true</c> if successful; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.IViewModel.SaveAndCloseViewModel">
            <summary>
            Saves the data, but also closes the view model in the same call if the save succeeds.
            </summary>
            <returns>
            	<c>true</c> if successful; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.IViewModel.CloseViewModel(System.Nullable{System.Boolean})">
            <summary>
            Closes this instance. Always called after the <see cref="M:Catel.MVVM.IViewModel.CancelViewModel"/> of <see cref="M:Catel.MVVM.IViewModel.SaveViewModel"/> method.
            </summary>
            <param name="result">The result to pass to the view. This will, for example, be used as <c>DialogResult</c>.</param>
        </member>
        <member name="P:Catel.MVVM.IViewModel.HasErrors">
            <summary>
            Gets a value indicating whether this instance has errors.
            </summary>
            <value>
            	<c>true</c> if this instance has errors; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.MVVM.IViewModel.HasDirtyModel">
            <summary>
            Gets a value indicating whether this instance has a dirty model.
            </summary>
            <value><c>true</c> if this instance has a dirty model; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Catel.MVVM.IViewModel.IsClosed">
            <summary>
            Gets a value indicating whether this instance is closed. If a view model is closed, calling
            <see cref="M:Catel.MVVM.IViewModel.CancelViewModel"/>, <see cref="M:Catel.MVVM.IViewModel.SaveViewModel"/> or <see cref="M:Catel.MVVM.IViewModel.CloseViewModel(System.Nullable{System.Boolean})"/>
            will have no effect.
            </summary>
            <value><c>true</c> if this instance is closed; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Catel.MVVM.IViewModel.Title">
            <summary>
            Gets the title of the view model.
            </summary>
            <value>The title.</value>
        </member>
        <member name="E:Catel.MVVM.IViewModel.Saving">
            <summary>
            Occurs when the view model is about the be saved.
            </summary>
        </member>
        <member name="E:Catel.MVVM.IViewModel.Saved">
            <summary>
            Occurs when the view model is saved successfully.
            </summary>
        </member>
        <member name="E:Catel.MVVM.IViewModel.Canceling">
            <summary>
            Occurs when the view model is about to be canceled.
            </summary>
        </member>
        <member name="E:Catel.MVVM.IViewModel.Canceled">
            <summary>
            Occurrs when the view model is canceled.
            </summary>
        </member>
        <member name="E:Catel.MVVM.IViewModel.Closed">
            <summary>
            Occurs when the view model is being closed.
            </summary>
        </member>
        <member name="T:Catel.MVVM.ViewModelToModelAttribute">
            <summary>
            Attribute to link a property in a view model to a model.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelToModelAttribute.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelToModelAttribute"/> class. This constructor assumes that the name
            of the property in the view model is the same as in the model.
            </summary>
            <param name="model">The property name that holds the model object.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="model"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelToModelAttribute.#ctor(System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelToModelAttribute"/> class.
            </summary>
            <param name="model">The property name that holds the model object.</param>
            <param name="property">The property of the model object that should be linked to the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> property.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="model"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="property"/> is <c>null</c>.</exception>
        </member>
        <member name="P:Catel.MVVM.ViewModelToModelAttribute.Model">
            <summary>
            Gets the property name that holds the model object.
            <para/>
            Must be a property on the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> implementation, but is allowed to be private.
            </summary>
            <value>The model property name.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelToModelAttribute.Property">
            <summary>
            Gets the property of the model object that should be linked to the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> property.
            </summary>
            <value>The property.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelToModelAttribute.SupportLLBLGen">
            <summary>
            Gets or sets a value indicating whether to support LLBLGen. When a property on the view model changes, the view model
            will try to find the related field ID instead of the related field since LLBLGen does not support nullable related entities.
            </summary>
            <value><c>true</c> if [support LLBL gen]; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelToModelAttribute.ViewModelLLBLGenEntityProperty">
            <summary>
            Gets or sets the LLBLGen entity property to use when retrieving the value from the view model entity.
            <para/>
            The actual mapping will be like [ViewModel].[ViewModelLLBLGenEntityProperty] = [Model].[ModelLLBLGenEntityProperty].
            <para/>
            If the value is empty, the property to map to is automatically determined by the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/>.
            </summary>
            <remarks>
            This property is only used when <see cref="P:Catel.MVVM.ViewModelToModelAttribute.SupportLLBLGen"/> is <c>true</c>.
            </remarks>
            <value>The LLBLGen entity property.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelToModelAttribute.ModelLLBLGenEntityProperty">
            <summary>
            Gets or sets the LLBLGen entity property to use when retrieving the value from the view model entity.
            <para/>
            The actual mapping will be like [ViewModel].[ViewModelLLBLGenEntityProperty] = [Model].[ModelLLBLGenEntityProperty].
            <para/>
            If the value is empty, the property to map to is automatically determined by the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/>.
            </summary>
            <remarks>
            This property is only used when <see cref="P:Catel.MVVM.ViewModelToModelAttribute.SupportLLBLGen"/> is <c>true</c>.
            </remarks>
            <value>The LLBLGen entity property.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelToModelAttribute.NullValue">
            <summary>
            Gets or sets the value to set on the back-end property when the view model property is null.
            </summary>
            <value>The null value.</value>
        </member>
        <member name="T:Catel.MVVM.Services.IOpenFileService">
            <summary>
            Interface for the Open File service.
            </summary>
        </member>
        <member name="T:Catel.MVVM.CommandExecutedEventArgs">
            <summary>
            <see cref="T:System.EventArgs"/> implementation for the event when an <see cref="T:Catel.MVVM.ICatelCommand"/> has been executed.
            </summary>
        </member>
        <member name="M:Catel.MVVM.CommandExecutedEventArgs.#ctor(Catel.MVVM.ICatelCommand,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.CommandExecutedEventArgs"/> class.
            </summary>
            <param name="command">The command that just has been executed.</param>
            <param name="commandParameter">The command parameter that was used for the execution.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="command"/> is <c>null</c>.</exception>
        </member>
        <member name="P:Catel.MVVM.CommandExecutedEventArgs.Command">
            <summary>
            Gets the command that just has been executed.
            </summary>
            <value>The command.</value>
        </member>
        <member name="P:Catel.MVVM.CommandExecutedEventArgs.CommandParameter">
            <summary>
            Gets the command parameter used for the execution.
            </summary>
            <value>The command parameter.</value>
        </member>
        <member name="T:Catel.Logging.Log">
            <summary>
              Default logging class that writes to the console or output window.
            </summary>
        </member>
        <member name="M:Catel.Logging.Log.#ctor(System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Logging.Log"/> class.
            </summary>
            <param name="targetType">The type for which this log is intented.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="targetType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Debug(System.String)">
            <summary>
            Writes the specified message as debug message.
            </summary>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Debug(System.String,System.Object[])">
            <summary>
            Writes the specified message as debug message.
            </summary>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="messageFormat"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Debug(System.Exception)">
            <summary>
            Writes the specified exception as debug message.
            </summary>
            <param name="exception">The exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Debug(System.Exception,System.String)">
            <summary>
            Writes the specified exception as debug message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Debug(System.Exception,System.String,System.Object[])">
            <summary>
            Writes the specified exception as debug message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="messageFormat"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Info(System.String)">
            <summary>
            Writes the specified message as info message.
            </summary>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Info(System.String,System.Object[])">
            <summary>
            Writes the specified message as info message.
            </summary>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="messageFormat"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Info(System.Exception)">
            <summary>
            Writes the specified exception as info message.
            </summary>
            <param name="exception">The exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Info(System.Exception,System.String)">
            <summary>
            Writes the specified exception as info message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Info(System.Exception,System.String,System.Object[])">
            <summary>
            Writes the specified exception as info message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="messageFormat"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Warning(System.String)">
            <summary>
            Writes the specified message as warning message.
            </summary>
            <param name="message">The message.</param>
        </member>
        <member name="M:Catel.Logging.Log.Warning(System.String,System.Object[])">
            <summary>
            Writes the specified message as warning message.
            </summary>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="messageFormat"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Warning(System.Exception)">
            <summary>
            Writes the specified exception as warning message.
            </summary>
            <param name="exception">The exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Warning(System.Exception,System.String)">
            <summary>
            Writes the specified exception as warning message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Warning(System.Exception,System.String,System.Object[])">
            <summary>
            Writes the specified exception as warning message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="messageFormat"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Error(System.String)">
            <summary>
            Writes the specified message as error message.
            </summary>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Error(System.String,System.Object[])">
            <summary>
            Writes the specified message as error message.
            </summary>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="messageFormat"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Error(System.Exception)">
            <summary>
            Writes the specified exception as error message.
            </summary>
            <param name="exception">The exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Error(System.Exception,System.String)">
            <summary>
            Writes the specified exception as error message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.Error(System.Exception,System.String,System.Object[])">
            <summary>
            Writes the specified exception as error message followed by the specified message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="messageFormat"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.FormatException(System.Exception)">
            <summary>
            Formats the exception for logging.
            </summary>
            <param name="exception">The exception.</param>
            <returns>Formatted string.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.FormatException(System.Exception,System.String)">
            <summary>
            Formats the exception for logging with an additional message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="message">The message.</param>
            <returns>Formatted string.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.FormatException(System.Exception,System.String,System.Object[])">
            <summary>
            Formats the exception for logging with an additional message.
            </summary>
            <param name="exception">The exception.</param>
            <param name="messageFormat">The message format.</param>
            <param name="args">The formatting arguments.</param>
            <returns>Formatted string.</returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="messageFormat"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Logging.Log.WriteMessage(System.String,Catel.Logging.LogEvent)">
            <summary>
            Writes the message to the output window or console and raises the <see cref="E:Catel.Logging.Log.LogMessage"/> event.
            </summary>
            <param name="message">The message.</param>
            <param name="logEvent">The log event.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="message"/> is <c>null</c>.</exception>
        </member>
        <member name="P:Catel.Logging.Log.TargetType">
            <summary>
            Gets the target type of the log. This is the type where the log is created for.
            </summary>
            <value>The type of the target.</value>
        </member>
        <member name="E:Catel.Logging.Log.LogMessage">
            <summary>
              Occurs when a message is written to the log.
            </summary>
        </member>
        <member name="T:Catel.Logging.ILogExtensions">
            <summary>
            <see cref="T:Catel.Logging.ILog"/> extensions.
            </summary>
        </member>
        <member name="F:Catel.Logging.ILogExtensions._stopwatchTracers">
            <summary>
              A dictionary containing all living instances of the stopwatches.
            </summary>
        </member>
        <member name="M:Catel.Logging.ILogExtensions.StartStopwatchTrace(Catel.Logging.ILog,System.String)">
            <summary>
              Starts the trace of a stopwatch trace. Should be ended with a call to <see cref="M:Catel.Logging.ILogExtensions.StopStopwatchTrace(Catel.Logging.ILog,System.String)"/>.
            </summary>
            <param name="log">The log to write to.</param>
            <param name="name">The name of the stopwatch.</param>
        </member>
        <member name="M:Catel.Logging.ILogExtensions.StartStopwatchTrace(Catel.Logging.ILog,System.String,System.Boolean)">
            <summary>
              Starts the trace of a stopwatch trace. Should be ended with a call to <see cref="M:Catel.Logging.ILogExtensions.StopStopwatchTrace(Catel.Logging.ILog,System.String)"/>.
            </summary>
            <param name="log">The log to write to.</param>
            <param name="name">The name of the stopwatch.</param>
            <param name="traceNameOnStart">if set to <c>true</c>, the name will be traced both on the start and stop of the stopwatch.</param>
        </member>
        <member name="M:Catel.Logging.ILogExtensions.StopStopwatchTrace(Catel.Logging.ILog,System.String)">
            <summary>
              Stops the stopwatch trace and writes the duration as Verbose to the trace.
            </summary>
            <param name = "log">The log to write to.</param>
            <param name = "name">The name of the stopwatch.</param>
        </member>
        <member name="T:Catel.ExcludeReason">
            <summary>
            Use this enum to provide a valid reason for excluding coverage. Expand this enum 
            if you encounter a new type of reason. 
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.StaticSingletonWillOnlyBeCoveredInProductionScenario">
            <summary>
            Static singleton will only be covered in production scenarios.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.ConstructorWillOnlyBeCoveredInProductionScenario">
            <summary>
            Constructor will only be covered in production scenarios. 
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.MethodWillOnlyBeCoveredInProductionScenario">
            <summary>
            Method will only be covered in production scenarios. 
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.ToBeImplementedInFutureSprint">
            <summary>
            Must be implemented in a future sprint.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.PropertyWillBeSubstitutedInTest">
            <summary>
            Property will be substituted during a test.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.ContainsCodeWhichCannotBeSubstitutedInTest">
            <summary>
            Contains code which cannot be substituted in a test.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.InterfaceMethodWillNotBeImplementedInThisClass">
            <summary>
            Interface will not be implemented in this class.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.TestCode">
            <summary>
            This is test code, and therefore needs to be excluded.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.ClassWillOnlyBeCoveredInProductionScenario">
            <summary>
            Class will only be covered in production scenarios. 
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.DataType">
            <summary>
            This is a data type, and therefore needs to be excluded.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.GeneratedClass">
            <summary>
            This is a generated class, and therefore needs to be excluded.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.NativeMethodWillBeCoveredInNativeUnitTests">
            <summary>
            Native method will be covered in native unit tests.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.Deprecated">
            <summary>
            This object is deprecated, no need to test it any longer.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.DebugLogging">
            <summary>
            This is debug logging, and therefore needs to be excluded.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.NonUsedAbstractImplementation">
            <summary>
            Object is a non-used abstract implementation.
            </summary>
        </member>
        <member name="F:Catel.ExcludeReason.Attribute">
            <summary>
            Attribute is not covered by unit tests.
            </summary>
        </member>
        <member name="T:Catel.CoverageExcludeAttribute">
            <summary>
            Use this to skip coverage for the method which is decorated with this 
            attribute. Use with care! 
            Do not put this attribute in a specific namespace.
            </summary>
        </member>
        <member name="F:Catel.CoverageExcludeAttribute._reason">
            <summary>
            Reason why the object is excluded from coverage.
            </summary>
        </member>
        <member name="M:Catel.CoverageExcludeAttribute.#ctor(Catel.ExcludeReason)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.CoverageExcludeAttribute"/> class.
            </summary>
            <param name="reason">The reason.</param>
        </member>
        <member name="M:Catel.CoverageExcludeAttribute.ToString">
            <summary>
            Returns a <see cref="T:System.String"/> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String"/> that represents this instance.
            </returns>
        </member>
        <member name="T:Catel.Windows.Threading.DispatcherHelper">
            <summary>
            Dispatcher helper class.
            </summary>
        </member>
        <member name="M:Catel.Windows.Threading.DispatcherHelper.DoEvents">
            <summary>
            Processes all UI messages currently in the message queue.
            </summary>
        </member>
        <member name="P:Catel.Windows.Threading.DispatcherHelper.CurrentDispatcher">
            <summary>
            Gets the current dispatcher. This property is compatible with WPF, SL and WP7, and also works
            when there is no application object (for example, during unit tests).
            </summary>
            <value>The current dispatcher.</value>
        </member>
        <member name="T:Catel.Runtime.Serialization.RedirectDeserializationBinder">
            <summary>
            <see cref="T:System.Runtime.Serialization.SerializationBinder"/> class that supports backwards compatible serialization.
            </summary>
        </member>
        <member name="F:Catel.Runtime.Serialization.RedirectDeserializationBinder.Log">
            <summary>
            The <see cref="T:Catel.Logging.ILog">log</see> object.
            </summary>
        </member>
        <member name="F:Catel.Runtime.Serialization.RedirectDeserializationBinder._redirectAttributes">
            <summary>
            A dictionary of all <see cref="T:Catel.Runtime.Serialization.RedirectTypeAttribute"/> found.
            </summary>
        </member>
        <member name="F:Catel.Runtime.Serialization.RedirectDeserializationBinder._microsoftPublicKeyTokens">
            <summary>
            A list of microsoft public key tokens.
            </summary>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Runtime.Serialization.RedirectDeserializationBinder"/> class.
            <para/>
            Creates a custom binder that redirects all the types to new types if required. All properties
            decorated with the <see cref="T:Catel.Runtime.Serialization.RedirectTypeAttribute"/> will be redirected.
            </summary>
            <remarks>
            This constructor searches for attributes of the current application domain.
            </remarks>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.#ctor(System.AppDomain)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Runtime.Serialization.RedirectDeserializationBinder"/> class.
            <para/>
            Creates a custom binder that redirects all the types to new types if required. All properties
            decorated with the <see cref="T:Catel.Runtime.Serialization.RedirectTypeAttribute"/> will be redirected.
            </summary>
            <param name="appDomain"><see cref="T:System.AppDomain"/> to search in.</param>
            <remarks>
            This constructor searches for attributes in a specific application domain.
            </remarks>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.#ctor(System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Runtime.Serialization.RedirectDeserializationBinder"/> class.
            <para/>
            This method automatically loads all the assemblies into the current AppDomain and then uses the
            <see cref="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.#ctor(System.Collections.Generic.IEnumerable{System.Reflection.Assembly})"/> constructor.
            <para/>
            Creates a custom binder that redirects all the types to new types if required. All properties
            decorated with the <see cref="T:Catel.Runtime.Serialization.RedirectTypeAttribute"/> will be redirected.
            </summary>
            <param name="assemblies">Array of assembly locations that should be searched.</param>
            <remarks>
            This constructor searches for attributes in specific assemblies.
            <para/>
            No exceptions are caught during the loading of the assemblies. The caller is responsible for handling
            the exceptions correctly.
            </remarks>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.#ctor(System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Runtime.Serialization.RedirectDeserializationBinder"/> class.
            <para/>
            Creates a custom binder that redirects all the types to new types if required. All properties
            decorated with the <see cref="T:Catel.Runtime.Serialization.RedirectTypeAttribute"/> will be redirected.
            </summary>
            <param name="assemblies">Array of assembly locations that should be searched.</param>
            <remarks>
            This constructor searches for attributes in specific assemblies.
            </remarks>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.Initialize(System.Collections.Generic.IEnumerable{System.Reflection.Assembly})">
            <summary>
            Initializes the binder by searching for all <see cref="T:Catel.Runtime.Serialization.RedirectTypeAttribute"/> in the
            assemblies passed to this method.
            </summary>
            <param name="assemblies">Array of assembly locations that should be searched.</param>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.InitializeAttributes(System.Object,Catel.Runtime.Serialization.RedirectTypeAttribute[])">
            <summary>
            Initializes the binder by searching for all <see cref="T:Catel.Runtime.Serialization.RedirectTypeAttribute"/> in the
            attributes passed to this method.
            </summary>
            <param name="decoratedObject">object that was decorated with the attribute.</param>
            <param name="attributes">Array of attributes to search for.</param>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.BindToType(System.String,System.String)">
            <summary>
            Binds an assembly and typename to a specific type.
            </summary>
            <param name="assemblyName">Original assembly name.</param>
            <param name="typeName">Original type name.</param>
            <returns><see cref="T:System.Type"/> that the serialization should actually use.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.LoadType(System.String)">
            <summary>
            Tries to load a type on a safe way.
            </summary>
            <param name="type">The type to load.</param>
            <returns>The type or <c>null</c> if this method fails.</returns>
            <remarks>
            In case this method fails to load the type, a warning will be traced with additional information.
            </remarks>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.SplitType(System.String,System.String@,System.String@)">
            <summary>
            Splits the type into a type name and assembly name.
            </summary>
            <param name="type">Type to split.</param>
            <param name="assemblyName">Assemby name.</param>
            <param name="typeName">Type name.</param>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.ConvertTypeToVersionIndependentType(System.String)">
            <summary>
            Converts a string representation of a type to a version independent type by removing the assembly version information.
            </summary>
            <param name="type">Type to convert.</param>
            <returns>String representing the type without version information.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.ConvertTypeToNewType(System.String)">
            <summary>
            Converts a string representation of a type to a redirected type.
            </summary>
            <param name="type">Type to convert.</param>
            <returns>String representing the type that represents the redirected type.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.RedirectDeserializationBinder.GetInnerTypes(System.String)">
            <summary>
            Returns the inner type of a type, for example, a generic array type.
            </summary>
            <param name="type">Full type which might contain an inner type.</param>
            <returns>Array of inner types.</returns>
        </member>
        <member name="P:Catel.Runtime.Serialization.RedirectDeserializationBinder.MicrosoftPublicKeyTokens">
            <summary>
            Gets the Microsoft public key tokens.
            </summary>
            <value>The Microsoft public key tokens.</value>
        </member>
        <member name="T:Catel.Runtime.Serialization.DataObjectBaseJsonSerializer">
            <summary>
            Json serializer that allows a custom object to be serialized into Json.
            </summary>
        </member>
        <member name="M:Catel.Runtime.Serialization.DataObjectBaseJsonSerializer.Serialize(Catel.Data.DataObjectBase)">
            <summary>
            Serializes the specified data object base.
            </summary>
            <param name="dataObjectBase">The data object base.</param>
            <returns>Serialized Json string.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.DataObjectBaseJsonSerializer.Serialize(System.Object)">
            <summary>
            Serializes the specified data object base.
            </summary>
            <param name="obj">The data object.</param>
            <returns>Serialized Json string.</returns>
        </member>
        <member name="M:Catel.Runtime.Serialization.DataObjectBaseJsonSerializer.Deserialize``1(System.String)">
            <summary>
            Deserializes the specified json string into an object.
            </summary>
            <param name="json">The json string.</param>
            <returns>Deserialized value of the Json string.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="json"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.InvalidOperationException">Invalid json is detected.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.DataObjectBaseJsonSerializer.GetObjectFromJson(System.String,System.Type)">
            <summary>
            Gets the object from json.
            </summary>
            <param name="json">The json.</param>
            <param name="expectedType">The expected type.</param>
            <returns>The deserialized object.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="json"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="expectedType"/> is <c>null</c>.</exception>
            <exception cref="T:System.InvalidOperationException">Invalid json is detected.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.DataObjectBaseJsonSerializer.ParseJsonIntoPairs(System.String)">
            <summary>
            Parses the json into <see cref="T:System.Collections.Generic.KeyValuePair`2"/> elements.
            </summary>
            <param name="json">The json.</param>
            <returns></returns>
            <exception cref="T:System.ArgumentException">The <paramref name="json"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.DataObjectBaseJsonSerializer.IsSimpleJsonType(System.Type)">
            <summary>
            Determines whether the specified type is a simple json type and can be deserialized using the
            <see cref="M:Catel.Runtime.Serialization.DataObjectBaseJsonSerializer.GetSimpleObjectFromJson(System.String,System.Type)"/> method.
            </summary>
            <param name="type">The type.</param>
            <returns>
            	<c>true</c> if the specified type is a simple json type; otherwise, <c>false</c>.
            </returns>
            <remarks>
            The types in this method are retrieved via the Silverlight JsonValue class.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="type"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.DataObjectBaseJsonSerializer.GetSimpleObjectFromJson(System.String,System.Type)">
            <summary>
            Gets the simple object from json.
            </summary>
            <param name="json">The json.</param>
            <param name="expectedType">The expected type.</param>
            <returns>The value parsed from json.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="json"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.Runtime.Serialization.DataObjectBaseJsonSerializer.GetJson(System.Object)">
            <summary>
            Gets the Json representation of the object.
            </summary>
            <param name="value">The value to convert to Json.</param>
            <returns>Serialized Json string.</returns>
            <remarks>
            This is what you get if you want to be dynamic, you have to write such shitty code :( ...
            <para />
            Types found at http://msdn.microsoft.com/en-us/library/system.json.jsonvalue(v=vs.95).aspx.
            </remarks>
        </member>
        <member name="T:Catel.Reflection.AssemblyExtensions">
            <summary>
            Assembly info helper class.
            </summary>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.Title(System.Reflection.Assembly)">
            <summary>
            Gets the title of a specific assembly.
            </summary>
            <param name="assembly">The assembly.</param>
            <returns>The title of the assembly.</returns>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.Version(System.Reflection.Assembly)">
            <summary>
            Gets the version of a specific assembly.
            </summary>
            <param name="assembly">The assembly.</param>
            <returns>The version of the assembly.</returns>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.Version(System.Reflection.Assembly,System.Int32)">
            <summary>
            Gets the version of a specific assembly with a separator count.
            </summary>
            <param name="assembly">The assembly.</param>
            <param name="separatorCount">Number that determines how many version numbers should be returned.</param>
            <returns>The version of the assembly.</returns>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.InformationalVersion(System.Reflection.Assembly)">
            <summary>
            Gets the informational version.
            </summary>
            <param name="assembly">The assembly.</param>
            <returns>The informational version.</returns>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.Description(System.Reflection.Assembly)">
            <summary>
            Gets the description of a specific assembly.
            </summary>
            <param name="assembly">The assembly.</param>
            <returns>The description of the assembly.</returns>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.Product(System.Reflection.Assembly)">
            <summary>
            Gets the product of a specific assembly.
            </summary>
            <param name="assembly">The assembly.</param>
            <returns>The product of the assembly.</returns>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.Copyright(System.Reflection.Assembly)">
            <summary>
            Gets the copyright of a specific assembly.
            </summary>
            <param name="assembly">The assembly.</param>
            <returns>The copyright of the assembly.</returns>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.Company(System.Reflection.Assembly)">
            <summary>
            Gets the company of a specific assembly.
            </summary>
            <param name="assembly">The assembly.</param>
            <returns>The company of the assembly</returns>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.Path(System.Reflection.Assembly)">
            <summary>
            Gets the path of a specific assembly.
            </summary>
            <param name="assembly">The assembly.</param>
            <returns>The path of the assembly.</returns>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.GetAssemblyAttribute``1(System.Reflection.Assembly)">
            <summary>
            Gets the assembly attribute.
            </summary>
            <typeparam name="TAttibute">The type of the attibute.</typeparam>
            <param name="assembly">The assembly.</param>
            <returns>The attribute that the assembly is decorated with or <c>null</c> if the assembly is not decorated with the attribute.</returns>
        </member>
        <member name="M:Catel.Reflection.AssemblyExtensions.GetAssemblyAttributeValue(System.Reflection.Assembly,System.Type,System.String)">
            <summary>
            Gets the specific <see cref="T:System.Attribute"/> value of the attribute type in the specified assembly.
            </summary>
            <param name="assembly">Assembly to read the information from.</param>
            <param name="attribute">Attribute to read.</param>
            <param name="property">Property to read from the attribute.</param>
            <returns>Value of the attribute or empty if the attribute is not found.</returns>
        </member>
        <member name="T:Catel.Reflection.CannotGetPropertyValueException">
            <summary>
            Exception in case a property value cannot be get.
            </summary>
        </member>
        <member name="M:Catel.Reflection.CannotGetPropertyValueException.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Reflection.CannotGetPropertyValueException"/> class.
            </summary>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="P:Catel.Reflection.CannotGetPropertyValueException.PropertyName">
            <summary>
            Gets the name of the property.
            </summary>
            <value>The name of the property.</value>
        </member>
        <member name="T:Catel.MVVM.Services.IUIVisualizerService">
            <summary>
            This interface defines a UI controller which can be used to display dialogs
            in either modal or modaless form from a ViewModel.
            </summary>
            <remarks>
            This implementation is based on the implementation that can be found in Cinch 
            (see http://www.codeproject.com/KB/WPF/CinchIII.aspx#PopServ). 
            </remarks>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.Register(System.Type,System.Type)">
            <summary>
            Registers the specified view model and the window type. This way, Catel knowns what
            window to show when a specific view model window is requested.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
            <param name="windowType">Type of the window.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="viewModelType"/> does not implement <see cref="T:Catel.MVVM.IViewModel"/>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="windowType"/> is not of the right type.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.Register(System.String,System.Type)">
            <summary>
            Registers the specified view model and the window type. This way, Catel knowns what
            window to show when a specific view model window is requested.
            </summary>
            <param name="name">Name of the registered window.</param>
            <param name="windowType">Type of the window.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="windowType"/> is not of the right type.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.Unregister(System.Type)">
            <summary>
            This unregisters the specified view model.
            </summary>
            <param name="viewModelType">Type of the view model to unregister.</param>
            <returns>
            	<c>true</c> if the view model is unregistered; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.Unregister(System.String)">
            <summary>
            This unregisters the specified view model.
            </summary>
            <param name="name">Name of the registered window.</param>
            <returns>
            	<c>true</c> if the view model is unregistered; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.Show(Catel.MVVM.IViewModel)">
            <summary>
            Shows a window that is registered with the specified view model in a non-modal state.
            </summary>
            <param name="viewModel">The view model.</param>
            <returns>
            	<c>true</c> if the popup window is successfully opened; otherwise <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.MVVM.Services.WindowNotRegisteredException">The <paramref name="viewModel"/> is not registered by the <see cref="M:Catel.MVVM.Services.IUIVisualizerService.Register(System.String,System.Type)"/> method first.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.Show(System.String,System.Object)">
            <summary>
            Shows a window that is registered with the specified name in a non-modal state.
            </summary>
            <param name="name">The name that the window is registered with.</param>
            <param name="data">The data to set as data context. If <c>null</c>, the data context will be untouched.</param>
            <returns>
            	<c>true</c> if the popup window is successfully opened; otherwise <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:Catel.MVVM.Services.WindowNotRegisteredException">The <paramref name="name"/> is not registered by the <see cref="M:Catel.MVVM.Services.IUIVisualizerService.Register(System.String,System.Type)"/> method first.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.Show(Catel.MVVM.IViewModel,System.EventHandler{Catel.MVVM.Services.UICompletedEventArgs})">
            <summary>
            Shows a window that is registered with the specified view model in a non-modal state.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="completedProc">The callback procedure that will be invoked as soon as the window is closed. This value can be <c>null</c>.</param>
            <returns>
            	<c>true</c> if the popup window is successfully opened; otherwise <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.MVVM.Services.WindowNotRegisteredException">The <paramref name="viewModel"/> is not registered by the <see cref="M:Catel.MVVM.Services.IUIVisualizerService.Register(System.String,System.Type)"/> method first.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.Show(System.String,System.Object,System.EventHandler{Catel.MVVM.Services.UICompletedEventArgs})">
            <summary>
            Shows a window that is registered with the specified view model in a non-modal state.
            </summary>
            <param name="name">The name that the window is registered with.</param>
            <param name="data">The data to set as data context. If <c>null</c>, the data context will be untouched.</param>
            <param name="completedProc">The callback procedure that will be invoked as soon as the window is closed. This value can be <c>null</c>.</param>
            <returns>
            	<c>true</c> if the popup window is successfully opened; otherwise <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:Catel.MVVM.Services.WindowNotRegisteredException">The <paramref name="name"/> is not registered by the <see cref="M:Catel.MVVM.Services.IUIVisualizerService.Register(System.String,System.Type)"/> method first.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.ShowDialog(Catel.MVVM.IViewModel)">
            <summary>
            Shows a window that is registered with the specified view model in a modal state.
            </summary>
            <param name="viewModel">The view model.</param>
            <returns>
            Nullable boolean representing the dialog result.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.MVVM.Services.WindowNotRegisteredException">The <paramref name="viewModel"/> is not registered by the <see cref="M:Catel.MVVM.Services.IUIVisualizerService.Register(System.String,System.Type)"/> method first.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.ShowDialog(System.String,System.Object)">
            <summary>
            Shows a window that is registered with the specified view model in a modal state.
            </summary>
            <param name="name">The name that the window is registered with.</param>
            <param name="data">The data to set as data context. If <c>null</c>, the data context will be untouched.</param>
            <returns>
            Nullable boolean representing the dialog result.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:Catel.MVVM.Services.WindowNotRegisteredException">The <paramref name="name"/> is not registered by the <see cref="M:Catel.MVVM.Services.IUIVisualizerService.Register(System.String,System.Type)"/> method first.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.ShowDialog(Catel.MVVM.IViewModel,System.EventHandler{Catel.MVVM.Services.UICompletedEventArgs})">
            <summary>
            Shows a window that is registered with the specified view model in a modal state.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="completedProc">The callback procedure that will be invoked as soon as the window is closed. This value can be <c>null</c>.</param>
            <returns>
            Nullable boolean representing the dialog result.
            </returns>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
            <exception cref="T:Catel.MVVM.Services.WindowNotRegisteredException">The <paramref name="viewModel"/> is not registered by the <see cref="M:Catel.MVVM.Services.IUIVisualizerService.Register(System.String,System.Type)"/> method first.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IUIVisualizerService.ShowDialog(System.String,System.Object,System.EventHandler{Catel.MVVM.Services.UICompletedEventArgs})">
            <summary>
            Shows a window that is registered with the specified view model in a modal state.
            </summary>
            <param name="name">The name that the window is registered with.</param>
            <param name="data">The data to set as data context. If <c>null</c>, the data context will be untouched.</param>
            <param name="completedProc">The callback procedure that will be invoked as soon as the window is closed. This value can be <c>null</c>.</param>
            <returns>
            Nullable boolean representing the dialog result.
            </returns>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:Catel.MVVM.Services.WindowNotRegisteredException">The <paramref name="name"/> is not registered by the <see cref="M:Catel.MVVM.Services.IUIVisualizerService.Register(System.String,System.Type)"/> method first.</exception>
        </member>
        <member name="P:Catel.MVVM.Services.IUIVisualizerService.NamingConventions">
            <summary>
            Gets or sets the naming conventions to use to search for views.
            <para />
            By adding or removing conventions to this property, the service can use custom resolving of views.
            <para />
            By default, the following conventions are added:<para />
            * <c>/Views/[VM]View.xaml</c><para />
            * <c>/Views/[VM]Control.xaml</c><para />
            * <c>/Views/[VM]Page.xaml</c><para />
            * <c>/Views/[VM]Window.xaml</c><para />
            * <c>/Controls/[VM]Control.xaml</c><para />
            * <c>/Pages/[VM]Page.xaml</c><para />
            * <c>/Windows/[VM]Window.xaml</c><para />
            * <c>/UI/Views/[VM]View.xaml</c><para />
            * <c>/UI/Views/[VM]Control.xaml</c><para />
            * <c>/UI/Views/[VM]Page.xaml</c><para />
            * <c>/UI/Views/[VM]Window.xaml</c><para />
            * <c>/UI/Controls/[VM]Control.xaml</c><para />
            * <c>/UI/Pages/[VM]Page.xaml</c><para />
            * <c>/UI/Windows/[VM]Window.xaml</c><para />
            </summary>
            <value>The naming convention.</value>
        </member>
        <member name="T:Catel.MVVM.Services.MessageResult">
            <summary>
            Available message results.
            </summary>
            <remarks>
            Although directly extracted from the WPF <c>MessageBoxResult</c>, this enum provides more flexibility to use
            other ways to show messages to the user instead of the default <c>MessageBox</c>.
            </remarks>
        </member>
        <member name="F:Catel.MVVM.Services.MessageResult.None">
            <summary>
            No result available.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageResult.OK">
            <summary>
            Message is acknowledged.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageResult.Cancel">
            <summary>
            Message is canceled.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageResult.Yes">
            <summary>
            Message is acknowledged with yes.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageResult.No">
            <summary>
            Message is acknowledged with no.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.MessageButton">
            <summary>
            Available message buttons.
            </summary>
            <remarks>
            Although directly extracted from the WPF <c>MessageBoxButton</c>, this enum provides more flexibility to use
            other ways to show messages to the user instead of the default <c>MessageBox</c>.
            </remarks>
        </member>
        <member name="F:Catel.MVVM.Services.MessageButton.OK">
            <summary>
            OK button.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageButton.OKCancel">
            <summary>
            OK and Cancel buttons.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageButton.YesNo">
            <summary>
            Yes and No buttons.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageButton.YesNoCancel">
            <summary>
            Yes, No and Cancel buttons.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.MessageImage">
            <summary>
            Available message images.
            </summary>
            <remarks>
            Although directly extracted from the WPF <c>MessageBoxImage</c>, this enum provides more flexibility to use
            other ways to show messages to the user instead of the default <c>MessageBox</c>.
            </remarks>
        </member>
        <member name="F:Catel.MVVM.Services.MessageImage.None">
            <summary>
            Show no image.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageImage.Information">
            <summary>
            Information image.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageImage.Question">
            <summary>
            Question image.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageImage.Exclamation">
            <summary>
            Exclamation image.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageImage.Error">
            <summary>
            Error image.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageImage.Stop">
            <summary>
            Stop image.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Services.MessageImage.Warning">
            <summary>
            Warning image.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Services.IMessageService">
            <summary>
            Interface for the message service.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowError(System.Exception)">
            <summary>
            Shows an error message to the user.
            </summary>
            <param name="exception">The exception.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowError(System.Exception,System.Action)">
            <summary>
            Shows an error message to the user and allows a callback operation when the message is completed.
            </summary>
            <param name="exception">The exception.</param>
            <param name="completedCallback">The callback to invoke when the message is completed. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentNullException">The <paramref name="exception"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowError(System.String)">
            <summary>
            Shows an error message to the user.
            </summary>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowError(System.String,System.Action)">
            <summary>
            Shows an error message to the user and allows a callback operation when the message is completed.
            </summary>
            <param name="message">The message.</param>
            <param name="completedCallback">The callback to invoke when the message is completed. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowError(System.String,System.String)">
            <summary>
            Shows an error message to the user.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowError(System.String,System.String,System.Action)">
            <summary>
            Shows an error message to the user and allows a callback operation when the message is completed.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <param name="completedCallback">The callback to invoke when the message is completed. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowWarning(System.String)">
            <summary>
            Shows a warning message to the user.
            </summary>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowWarning(System.String,System.Action)">
            <summary>
            Shows a warning message to the user and allows a callback operation when the message is completed.
            </summary>
            <param name="message">The message.</param>
            <param name="completedCallback">The callback to invoke when the message is completed. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowWarning(System.String,System.String)">
            <summary>
            Shows a warning message to the user.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowWarning(System.String,System.String,System.Action)">
            <summary>
            Shows a warning message to the user and allows a callback operation when the message is completed.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <param name="completedCallback">The callback to invoke when the message is completed. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowInformation(System.String)">
            <summary>
            Shows an information message to the user.
            </summary>
            <param name="message">The message.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowInformation(System.String,System.Action)">
            <summary>
            Shows an information message to the user and allows a callback operation when the message is completed.
            </summary>
            <param name="message">The message.</param>
            <param name="completedCallback">The callback to invoke when the message is completed. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowInformation(System.String,System.String)">
            <summary>
            Shows an information message to the user.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.ShowInformation(System.String,System.String,System.Action)">
            <summary>
            Shows an information message to the user and allows a callback operation when the message is completed.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <param name="completedCallback">The callback to invoke when the message is completed. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.Show(System.String)">
            <summary>
            Shows the specified message and returns the result.
            </summary>
            <param name="message">The message.</param>
            <returns>The <see cref="T:Catel.MVVM.Services.MessageResult"/>.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.Show(System.String,System.Action{Catel.MVVM.Services.MessageResult})">
            <summary>
            Shows the specified message and allows a callback operation when the message is completed.
            </summary>
            <param name="message">The message.</param>
            <param name="completedCallback">The callback to invoke when the message is completed which contains the result. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.Show(System.String,System.String)">
            <summary>
            Shows the specified message and returns the result.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <returns>The <see cref="T:Catel.MVVM.Services.MessageResult"/>.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.Show(System.String,System.String,System.Action{Catel.MVVM.Services.MessageResult})">
            <summary>
            Shows the specified message to the user and allows a callback operation when the message is completed.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <param name="completedCallback">The callback to invoke when the message is completed. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.Show(System.String,System.String,Catel.MVVM.Services.MessageButton)">
            <summary>
            Shows the specified message and returns the result.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <param name="button">The button.</param>
            <returns>The <see cref="T:Catel.MVVM.Services.MessageResult"/>.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.Show(System.String,System.String,Catel.MVVM.Services.MessageButton,System.Action{Catel.MVVM.Services.MessageResult})">
            <summary>
            Shows the specified message and returns the result.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <param name="button">The button.</param>
            <param name="completedCallback">The callback to invoke when the message is completed. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.Show(System.String,System.String,Catel.MVVM.Services.MessageButton,Catel.MVVM.Services.MessageImage)">
            <summary>
            Shows the specified message and returns the result.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <param name="button">The button.</param>
            <param name="icon">The icon.</param>
            <returns>The <see cref="T:Catel.MVVM.Services.MessageResult"/>.</returns>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.Services.IMessageService.Show(System.String,System.String,Catel.MVVM.Services.MessageButton,Catel.MVVM.Services.MessageImage,System.Action{Catel.MVVM.Services.MessageResult})">
            <summary>
            Shows an information message to the user and allows a callback operation when the message is completed.
            </summary>
            <param name="message">The message.</param>
            <param name="caption">The caption.</param>
            <param name="button">The button.</param>
            <param name="icon">The icon.</param>
            <param name="completedCallback">The callback to invoke when the message is completed. Can be <c>null</c>.</param>
            <remarks>
            There is no garantuee that the method will be executed asynchronous, only that the <paramref name="completedCallback"/>
            will be invoked when the message is dismissed.
            </remarks>
            <exception cref="T:System.ArgumentException">The <paramref name="message"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="caption"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="T:Catel.MVVM.Auditing.AuditorBase">
            <summary>
            Convenience implementation of the <see cref="T:Catel.MVVM.Auditing.IAuditor"/> interface so not all interface members
            have to be implemented by the developer.
            <para/>
            This auditor also ignores the default properties such as <c>IsDirty</c> since hardly anyone
            would be interested in such changes. To enable the notification, clear the <see cref="P:Catel.MVVM.Auditing.AuditorBase.PropertiesToIgnore"/>.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.Auditing.AuditorBase"/> class.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnViewModelCreating(System.Type)">
            <summary>
            Called when a specific view model type is being created.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnViewModelCreated(System.Type)">
            <summary>
            Called when a specific view model type is created.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnPropertyChanging(Catel.MVVM.IViewModel,System.String,System.Object)">
            <summary>
            Called when the property of a view model is about to change.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="propertyName">Name of the property.</param>
            <param name="oldValue">The old property value.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnPropertyChanged(Catel.MVVM.IViewModel,System.String,System.Object)">
            <summary>
            Called when the property of a view model has just changed.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="propertyName">Name of the property.</param>
            <param name="newValue">The new property value.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnCommandExecuted(Catel.MVVM.IViewModel,System.String,Catel.MVVM.ICatelCommand,System.Object)">
            <summary>
            Called when a command of a view model has just been executed.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="commandName">Name of the command, which is the name of the command property.</param>
            <param name="command">The command that has been executed.</param>
            <param name="commandParameter">The command parameter.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnViewModelSaving(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model is about to be saved.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnViewModelSaved(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model has just been saved.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnViewModelCanceling(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model is about to be canceled.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnViewModelCanceled(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model has just been canceled.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnViewModelClosing(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model is about to be closed.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditorBase.OnViewModelClosed(Catel.MVVM.IViewModel)">
            <summary>
            Called when a view model has just been closed.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="P:Catel.MVVM.Auditing.AuditorBase.PropertiesToIgnore">
            <summary>
            Gets a list of properties that should be ignored.
            </summary>
            <value>The list of properties to ignore.</value>
        </member>
        <member name="T:Catel.Linq.ExpressionUtil">
            <summary>
            General purpose Expression utilities
            </summary>
            <remarks>
            Code originally found at http://www.yoda.arachsys.com/csharp/miscutil/.
            </remarks>
        </member>
        <member name="M:Catel.Linq.ExpressionUtil.CreateExpression``2(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.UnaryExpression})">
            <summary>
            Create a function delegate representing a unary operation
            </summary>
            <typeparam name="TArg1">The parameter type</typeparam>
            <typeparam name="TResult">The return type</typeparam>
            <param name="body">Body factory</param>
            <returns>Compiled function delegate</returns>
        </member>
        <member name="M:Catel.Linq.ExpressionUtil.CreateExpression``3(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.BinaryExpression})">
            <summary>
            Create a function delegate representing a binary operation
            </summary>
            <typeparam name="TArg1">The first parameter type</typeparam>
            <typeparam name="TArg2">The second parameter type</typeparam>
            <typeparam name="TResult">The return type</typeparam>
            <param name="body">Body factory</param>
            <returns>Compiled function delegate</returns>
        </member>
        <member name="M:Catel.Linq.ExpressionUtil.CreateExpression``3(System.Func{System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.BinaryExpression},System.Boolean)">
            <summary>
            Create a function delegate representing a binary operation
            </summary>
            <param name="castArgsToResultOnFailure">
            If no matching operation is possible, attempt to convert
            TArg1 and TArg2 to TResult for a match? For example, there is no
            "decimal operator /(decimal, int)", but by converting TArg2 (int) to
            TResult (decimal) a match is found.
            </param>
            <typeparam name="TArg1">The first parameter type</typeparam>
            <typeparam name="TArg2">The second parameter type</typeparam>
            <typeparam name="TResult">The return type</typeparam>
            <param name="body">Body factory</param>
            <returns>Compiled function delegate</returns>
        </member>
        <member name="T:Catel.IoC.UnityHelper">
            <summary>
            Helper class for Unity IoC containers.
            </summary>
        </member>
        <member name="M:Catel.IoC.UnityHelper.IsValidContainer(System.Object)">
            <summary>
            Determines whether the specified <paramref name="container"/> is a Unity IoC container.
            </summary>
            <param name="container">The container.</param>
            <returns>
            	<c>true</c> if the specified <paramref name="container"/> is a Unity IoC container; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.UnityHelper.IsTypeRegistered(System.Object,System.Type)">
            <summary>
            Determines whether the specified <paramref name="interfaceType"/> is registered in the container.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <returns>
            	<c>true</c> if the specified <paramref name="interfaceType"/> is registered in the container; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a Unity IoC container.</exception>
        </member>
        <member name="M:Catel.IoC.UnityHelper.RegisterType(System.Object,System.Type,System.Type)">
            <summary>
            Registers the specified type for the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingType">Type of the implementing.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a Unity IoC container.</exception>
        </member>
        <member name="M:Catel.IoC.UnityHelper.RegisterInstance(System.Object,System.Type,System.Object)">
            <summary>
            Registers a specific instance for the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingInstance">The implementing instance.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingInstance"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a Unity IoC container.</exception>
        </member>
        <member name="M:Catel.IoC.UnityHelper.ResolveType(System.Object,System.Type)">
            <summary>
            Resolves an instance of the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <returns>The resolved instance or <c>null</c> if the instance could not be resolved.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a Unity IoC container.</exception>
            <exception cref="T:System.NotSupportedException">If the type is not registered in the container.</exception>
        </member>
        <member name="M:Catel.IoC.UnityHelper.CreateDefaultLifetimeManager">
            <summary>
            Creates the default lifetime manager required for Unity.
            </summary>
            <returns>The instantiated lifetime manager.</returns>
        </member>
        <member name="M:Catel.IoC.UnityHelper.CreateEmptyInjectionMemberArray">
            <summary>
            Creates an empty <c>InjectionMember</c> array. This is required for some methods of Unity.
            </summary>
            <returns>An empty array containing 0 members.</returns>
        </member>
        <member name="M:Catel.IoC.UnityHelper.CreateEmptyResolverOverrideArray">
            <summary>
            Creates an empty <c>ResolverOverride</c> array. This is required for some methods of Unity.
            </summary>
            <returns>An empty array containing 0 members.</returns>
        </member>
        <member name="P:Catel.IoC.UnityHelper.Name">
            <summary>
            Gets the name of the helper.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:Catel.IoC.UnityHelper.CanRegisterTypesWithoutInstantiating">
            <summary>
            Gets a value indicating whether this helper can register types without instantiating.
            <para/>
            If this value is <c>true</c>, the <see cref="M:Catel.IoC.UnityHelper.RegisterType(System.Object,System.Type,System.Type)"/> can be used. Otherwise, only
            <see cref="M:Catel.IoC.UnityHelper.RegisterInstance(System.Object,System.Type,System.Object)"/> can be used.
            </summary>
            <value>
            	<c>true</c> if this helper can register types without instantiating; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.IoC.UnityHelper.UnityAssembly">
            <summary>
            Gets the unity assembly, which can be different for Silverlight and WPF.
            </summary>
            <value>The unity assembly.</value>
        </member>
        <member name="T:Catel.Properties.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:Catel.Properties.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:Catel.Properties.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:Catel.Properties.Resources.ErrorsFound">
            <summary>
              Looks up a localized string similar to {0} has the following errors:.
            </summary>
        </member>
        <member name="P:Catel.Properties.Resources.TraceWithDetails">
             <summary>
               Looks up a localized string similar to {0}
            
            Details:
            {1}.
             </summary>
        </member>
        <member name="P:Catel.Properties.Resources.WarningsFound">
            <summary>
              Looks up a localized string similar to {0} has the following warnings:.
            </summary>
        </member>
        <member name="T:Catel.MVVM.ViewModelEvent">
            <summary>
            Available view model events that can be retrieved via the <see cref="T:Catel.MVVM.InterestedInAttribute"/>.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelEvent.Saving">
            <summary>
            Saving event, invoked when a view model is about to be saved.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelEvent.Saved">
            <summary>
            Saved event, invoked when a view model has been saved successfully.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelEvent.Canceling">
            <summary>
            Canceling event, invoked when a view model is about to be canceled.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelEvent.Canceled">
            <summary>
            Canceled event, invoked when a view model has been canceled.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelEvent.Closed">
            <summary>
            Closed event, invoked when the view model is closed.
            </summary>
        </member>
        <member name="T:Catel.MVVM.ViewModelBaseWithoutServices">
            <summary>
            View model base for MVVM implementations. This class is based on the <see cref="T:Catel.Data.DataObjectBase"/>, and supports all
            common interfaces used by WPF.
            </summary>
            <remarks>
            This view model base does not add any services. The technique specific implementation should take care of that
            (such as WPF, Silverlight, etc).
            </remarks>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices.LLBLGenRestorePointName">
            <summary>
            Name of the restore point when beginning to edit a model that is an LLBLGen entity.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._ignoreMultipleModelsWarning">
            <summary>
            Value indicating whether the multiple modules warning should be ignored.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._isViewModelInitialized">
            <summary>
            Value indicating whether the view model is already initialized via a call to <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.InitializeViewModel"/>.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._areViewModelAttributesIntialized">
            <summary>
            Value indicating whher 
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._modelObjects">
            <summary>
            Dictionary of available models inside the view model.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._modelObjectsInfo">
            <summary>
            Dictionary with info about the available models inside the view model.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._modelErrorInfo">
            <summary>
            Dictionary with data error info about a specific model.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._childViewModels">
            <summary>
            List of child view models which can be registed by the <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.RegisterChildViewModel(Catel.MVVM.IViewModel)"/> method.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._childViewModelsHaveErrors">
            <summary>
            Value to determine whether child view models have errors or not.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelManager">
            <summary>
            Gets the view model manager.
            </summary>
            <value>The view model manager.</value>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._modelObjectValidateEntityMethods">
            <summary>
            Dictionary of LLBLGen ValidateEntity fields that are available on the models. This mapping is required to dynamically determine
            whether a model is an LLBLGen Pro entity, and therefore must be validated via a call to ValidateEntity.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._viewModelToModelMap">
            <summary>
            Mappings from view model properties to models and their properties.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._registeredCommands">
            <summary>
            A list of commands that implement the <see cref="T:Catel.MVVM.ICatelCommand"/> interface.
            </summary>
            <remarks>
            Internal so the <see cref="F:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelManager"/> can subscribe to the commands. The string is the property name
            the command is registered with.
            </remarks>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._injectedServices">
            <summary>
            A list of injected services which will always take precedence over services retrieved via the 
            <see cref="P:Catel.MVVM.ViewModelBaseWithoutServices.ServiceLocator"/>.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices._propertyDescriptors">
            <summary>
            The cached property descriptors. If the property is empty, the property descriptors are yet to be built. Otherwise
            this list can be used to return the cached property descriptors.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> class with support for <see cref="T:System.ComponentModel.IEditableObject"/>.
            </summary>
            <exception cref="T:Catel.MVVM.ModelNotRegisteredException">A mapped model is not registered.</exception>
            <exception cref="T:Catel.MVVM.PropertyNotFoundInModelException">A mapped model property is not found.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> class.
            </summary>
            <param name="supportIEditableObject">if set to <c>true</c>, the view model will natively support models that
            implement the <see cref="T:System.ComponentModel.IEditableObject"/> interface.</param>
            <exception cref="T:Catel.MVVM.ModelNotRegisteredException">A mapped model is not registered.</exception>
            <exception cref="T:Catel.MVVM.PropertyNotFoundInModelException">A mapped model property is not found.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.#ctor(System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> class.
            </summary>
            <param name="supportIEditableObject">if set to <c>true</c>, the view model will natively support models that
            implement the <see cref="T:System.ComponentModel.IEditableObject"/> interface.</param>
            <param name="ignoreMultipleModelsWarning">if set to <c>true</c>, the warning when using multiple models is ignored.</param>
            <exception cref="T:Catel.MVVM.ModelNotRegisteredException">A mapped model is not registered.</exception>
            <exception cref="T:Catel.MVVM.PropertyNotFoundInModelException">A mapped model property is not found.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.#ctor(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> class.
            </summary>
            <param name="supportIEditableObject">if set to <c>true</c>, the view model will natively support models that
            implement the <see cref="T:System.ComponentModel.IEditableObject"/> interface.</param>
            <param name="ignoreMultipleModelsWarning">if set to <c>true</c>, the warning when using multiple models is ignored.</param>
            <param name="skipViewModelAttributesInitialization">
            if set to <c>true</c>, the initialization will be skipped and must be done manually via <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.InitializeViewModelAttributes"/>.
            </param>
            <exception cref="T:Catel.MVVM.ModelNotRegisteredException">A mapped model is not registered.</exception>
            <exception cref="T:Catel.MVVM.PropertyNotFoundInModelException">A mapped model property is not found.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.#ctor(System.Collections.Generic.Dictionary{System.Type,System.Object})">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> class.
            <para/>
            This constructor allows services to be injected. When <paramref name="services"/> contains any elements, the
            <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.RegisterViewModelServices(Catel.IoC.IServiceLocator)"/> method is not invoked.
            </summary>
            <param name="services">Dictionary of services to register.</param>
            <exception cref="T:Catel.MVVM.ModelNotRegisteredException">A mapped model is not registered.</exception>
            <exception cref="T:Catel.MVVM.PropertyNotFoundInModelException">A mapped model property is not found.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.#ctor(System.Collections.Generic.Dictionary{System.Type,System.Object},System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> class.
            <para/>
            This constructor allows services to be injected. When <paramref name="services"/> contains any elements, the
            <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.RegisterViewModelServices(Catel.IoC.IServiceLocator)"/> method is not invoked.
            </summary>
            <param name="services">Dictionary of services to register.</param>
            <param name="supportIEditableObject">if set to <c>true</c>, the view model will natively support models that
            implement the <see cref="T:System.ComponentModel.IEditableObject"/> interface.</param>
            <exception cref="T:Catel.MVVM.ModelNotRegisteredException">A mapped model is not registered.</exception>
            <exception cref="T:Catel.MVVM.PropertyNotFoundInModelException">A mapped model property is not found.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.#ctor(System.Collections.Generic.Dictionary{System.Type,System.Object},System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> class.
            <para/>
            This constructor allows services to be injected. When <paramref name="services"/> contains any elements, the
            <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.RegisterViewModelServices(Catel.IoC.IServiceLocator)"/> method is not invoked.
            </summary>
            <param name="services">Dictionary of services to register.</param>
            <param name="supportIEditableObject">if set to <c>true</c>, the view model will natively support models that
            implement the <see cref="T:System.ComponentModel.IEditableObject"/> interface.</param>
            <param name="ignoreMultipleModelsWarning">if set to <c>true</c>, the warning when using multiple models is ignored.</param>
            <exception cref="T:Catel.MVVM.ModelNotRegisteredException">A mapped model is not registered.</exception>
            <exception cref="T:Catel.MVVM.PropertyNotFoundInModelException">A mapped model property is not found.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.#ctor(System.Collections.Generic.Dictionary{System.Type,System.Object},System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices"/> class.
            <para/>
            This constructor allows services to be injected. When <paramref name="services"/> contains any elements, the
            <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.RegisterViewModelServices(Catel.IoC.IServiceLocator)"/> method is not invoked.
            </summary>
            <param name="services">Dictionary of services to register.</param>
            <param name="supportIEditableObject">if set to <c>true</c>, the view model will natively support models that
            implement the <see cref="T:System.ComponentModel.IEditableObject"/> interface.</param>
            <param name="ignoreMultipleModelsWarning">if set to <c>true</c>, the warning when using multiple models is ignored.</param>
            <param name="skipViewModelAttributesInitialization">
            if set to <c>true</c>, the initialization will be skipped and must be done manually via <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.InitializeViewModelAttributes"/>.
            </param>
            <exception cref="T:Catel.MVVM.ModelNotRegisteredException">A mapped model is not registered.</exception>
            <exception cref="T:Catel.MVVM.PropertyNotFoundInModelException">A mapped model property is not found.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.InitializePropertiesWithAttributes">
            <summary>
            Initializes the properties with attributes.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ValidateViewModelToModelMappings">
            <summary>
            Validates the view model to model mappings.
            </summary>
            <exception cref="T:Catel.MVVM.ModelNotRegisteredException">A property is mapped to a model that does not exists.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.InitializeViewModelAttributes">
            <summary>
            Initializes the view model attributes, such as the <see cref="T:Catel.MVVM.ModelAttribute"/> and
            <see cref="T:Catel.MVVM.ViewModelToModelAttribute"/>.
            <para/>
            This method is automatically invoked by the constructor. Sometimes, dynamic properties
            are registered after the constructor. Therefore, it is possible to skip the initialization
            of the attributes and handle this manually.
            </summary>
            <exception cref="T:Catel.MVVM.ModelNotRegisteredException">A mapped model is not registered.</exception>
            <exception cref="T:Catel.MVVM.PropertyNotFoundInModelException">A mapped model property is not found.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.SetParentViewModel(Catel.MVVM.IViewModel)">
            <summary>
            Sets the parent view model.
            </summary>
            <param name="parent">The parent.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.RegisterChildViewModel(Catel.MVVM.IViewModel)">
            <summary>
            Registers a child view model.
            </summary>
            <param name="child">The child view model.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="child"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnChildViewModelPropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when a property has changed on the child view model.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnChildViewModelClosed(System.Object,System.EventArgs)">
            <summary>
            Called when the child view model is closed.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.UnregisterChildViewModel(Catel.MVVM.IViewModel)">
            <summary>
            Unregisters the child view model.
            </summary>
            <param name="child">The child.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="child"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.GetAllModels">
            <summary>
            Gets all models that are decorated with the <see cref="T:Catel.MVVM.ModelAttribute"/>.
            </summary>
            <returns>Array of models.</returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnPropertyChanging(System.ComponentModel.PropertyChangingEventArgs)">
            <summary>
            Called when a property value is changing.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangingEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Called when a property value has changed.
            </summary>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnCommandExecuted(System.Object,Catel.MVVM.CommandExecutedEventArgs)">
            <summary>
            Called when an <see cref="T:Catel.MVVM.ICatelCommand"/> implementation has just been executed.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:Catel.MVVM.CommandExecutedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyChanged(Catel.MVVM.IViewModel,System.String)">
            <summary>
            Called when a property has changed for a view model type that the current view model is interested in. This can
            be accomplished by decorating the view model with the <see cref="T:Catel.MVVM.InterestedInAttribute"/>.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="propertyName">Name of the property.</param>
            <remarks>
            This method is internal so the <see cref="T:Catel.MVVM.ManagedViewModel"/> can invoke it. This method is only used as a pass-through
            to the actual <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.OnViewModelPropertyChanged(Catel.MVVM.IViewModel,System.String)"/> method.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnViewModelPropertyChanged(Catel.MVVM.IViewModel,System.String)">
            <summary>
            Called when a property has changed for a view model type that the current view model is interested in. This can
            be accomplished by decorating the view model with the <see cref="T:Catel.MVVM.InterestedInAttribute"/>.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="propertyName">Name of the property.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelCommandExecuted(Catel.MVVM.IViewModel,Catel.MVVM.ICatelCommand,System.Object)">
            <summary>
            Called when a command for a view model type that the current view model is interested in has been executed. This can
            be accomplished by decorating the view model with the <see cref="T:Catel.MVVM.InterestedInAttribute"/>.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="command">The command that has been executed.</param>
            <param name="commandParameter">The command parameter used during the execution.</param>
            <remarks>
            This method is internal so the <see cref="T:Catel.MVVM.ManagedViewModel"/> can invoke it. This method is only used as a pass-through
            to the actual <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.OnViewModelCommandExecuted(Catel.MVVM.IViewModel,Catel.MVVM.ICatelCommand,System.Object)"/> method.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnViewModelCommandExecuted(Catel.MVVM.IViewModel,Catel.MVVM.ICatelCommand,System.Object)">
            <summary>
            Called when a command for a view model type that the current view model is interested in has been executed. This can
            be accomplished by decorating the view model with the <see cref="T:Catel.MVVM.InterestedInAttribute"/>.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="command">The command that has been executed.</param>
            <param name="commandParameter">The command parameter used during the execution.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelEvent(Catel.MVVM.IViewModel,Catel.MVVM.ViewModelEvent,System.EventArgs)">
            <summary>
            Views the model event.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="viewModelEvent">The view model event.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnViewModelEvent(Catel.MVVM.IViewModel,Catel.MVVM.ViewModelEvent,System.EventArgs)">
            <summary>
            Called when an event for a view model type that the current view model is interested in has been raised. This can
            be accomplished by decorating the view model with the <see cref="T:Catel.MVVM.InterestedInAttribute"/>.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="viewModelEvent">The view model event.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.BeginEditObject(System.Object)">
            <summary>
            Begins an edit on an object. Also correctly supports LLBLGen entities.
            </summary>
            <param name="obj">The object.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.EndEditObject(System.Object)">
            <summary>
            Pushes changes since the last <see cref="M:System.ComponentModel.IEditableObject.EndEdit"/> call. Also correctly supports LLBLGen entities.
            </summary>
            <param name="obj">The object.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.CancelEditObject(System.Object)">
            <summary>
            Discards changes since the last <see cref="M:System.ComponentModel.IEditableObject.BeginEdit"/> call. Also correctly supports LLBLGen entities.
            </summary>
            <param name="obj">The object.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnModelPropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
            <summary>
            Handles the PropertyChanged event of a Model.
            </summary>
            <param name="sender">The source of the event.</param>
            <param name="e">The <see cref="T:System.ComponentModel.PropertyChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnValidating">
            <summary>
            Called when the object is validating.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnValidatingFields">
            <summary>
            Called when the object is validating the fields.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnValidatingBusinessRules">
            <summary>
            Called when the object is validating the business rules.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.Dispose(System.Boolean)">
            <summary>
            Releases unmanaged and - optionally - managed resources.
            </summary>
            <param name="disposeManagedResources"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.InitializeModel(System.String,System.Object)">
            <summary>
            Initializes a model by subscribing to all events.
            </summary>
            <param name="modelProperty">The name of the model property.</param>
            <param name="model">The model.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.UninitializeModel(System.String,System.Object,Catel.MVVM.ViewModelBaseWithoutServices.ModelCleanUpMode)">
            <summary>
            Uninitializes a model by unsubscribing from all events.
            </summary>
            <param name="modelProperty">The name of the model property.</param>
            <param name="model">The model.</param>
            <param name="modelCleanUpMode">The model clean up mode.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.OnModelErrorInfoUpdated(System.Object,System.EventArgs)">
            <summary>
            Called when the <see cref="E:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.Updated"/> event occurs.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.EventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.Cancel">
            <summary>
            Cancels the editing of the data.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.Save">
            <summary>
            Saves the data.
            </summary>
            <returns>
            	<c>true</c> if successful; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.Close">
            <summary>
            Closes this instance. Always called after the <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.Cancel"/> of <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.Save"/> method.
            </summary>
            <remarks>
            When implementing this method in a base class, make sure to call the base, otherwise <see cref="P:Catel.MVVM.ViewModelBaseWithoutServices.IsClosed"/> will
            not be set to true.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.IsModelRegistered(System.String)">
            <summary>
            Determines whether a specific property is registered as a model.
            </summary>
            <param name="name">The name of the registered model.</param>
            <returns>
            	<c>true</c> if a specific property is registered as a model; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.RegisterCommands">
            <summary>
            Registers all the commands that implement the <see cref="T:Catel.MVVM.ICatelCommand"/>.
            <para/>
            This method does not force re-registering of commands.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.RegisterCommands(System.Boolean)">
            <summary>
            Registers all the commands that implement the <see cref="T:Catel.MVVM.ICatelCommand"/>.
            </summary>
            <param name="force">if set to <c>true</c>, all existing commands will be removed and re-registered.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.UnregisterCommands">
            <summary>
            Unregisters all the commands that implement the <see cref="T:Catel.MVVM.ICatelCommand"/>.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.InvalidateCommands">
            <summary>
            Invalidates all the commands that implement the <see cref="T:Catel.MVVM.ICatelCommand"/>.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.GetService(System.Type)">
            <summary>
            Gets the service of the specified type. Keep in mind that injected services always take precedence
            over services registered in the <see cref="P:Catel.MVVM.ViewModelBaseWithoutServices.ServiceLocator"/>.
            </summary>
            <param name="serviceType">Type of the service.</param>
            <returns>Service object or <c>null</c> if the service is not found.</returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.GetService``1">
            <summary>
            Gets the service of the specified type.
            </summary>
            <typeparam name="T">Type of the service.</typeparam>
            <returns>Service object or <c>null</c> if the service is not found.</returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.RegisterViewModelServices(Catel.IoC.IServiceLocator)">
            <summary>
            Registers the known view model services.
            </summary>
            <param name="serviceLocator">The service locator.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.InitializeViewModel">
            <summary>
            Initializes the view model. Normally the initialization is done in the constructor, but sometimes this must be delayed
            to a state where the associated UI element (user control, window, ...) is actually loaded.
            <para />
            This method is called as soon as the associated UI element is loaded.
            </summary>
            <remarks>
            It's not recommended to implement the initialization of properties in this method. The initialization of properties
            should be done in the constructor. This method should be used to start the retrieval of data from a web service or something
            similar.
            <para />
            During unit tests, it is recommended to manually call this method because there is no external container calling this method.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.Initialize">
            <summary>
            Initializes the view model. Normally the initialization is done in the constructor, but sometimes this must be delayed
            to a state where the associated UI element (user control, window, ...) is actually loaded.
            <para />
            This method is called as soon as the associated UI element is loaded.
            </summary>
            <remarks>
            It's not recommended to implement the initialization of properties in this method. The initialization of properties
            should be done in the constructor. This method should be used to start the retrieval of data from a web service or something
            similar.
            <para />
            During unit tests, it is recommended to manually call this method because there is no external container calling this method.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ValidateViewModel">
            <summary>
            Validates the data.
            </summary>
            <returns>
            	<c>true</c> if validation succeeds; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ValidateViewModel(System.Boolean,System.Boolean)">
            <summary>
            Validates the specified notify changed properties only.
            </summary>
            <param name="force">if set to <c>true</c>, a validation is forced (even if the object knows it is already validated).</param>
            <param name="notifyChangedPropertiesOnly">if set to <c>true</c> only the properties for which the warnings or errors have been changed
            will be updated via <see cref="E:System.ComponentModel.INotifyPropertyChanged.PropertyChanged"/>; otherwise all the properties that
            had warnings or errors but not anymore and properties still containing warnings or errors will be updated.</param>
            <returns>
            	<c>true</c> if validation succeeds; otherwise <c>false</c>.
            </returns>
            <remarks>
            This method is useful when the view model is initialized before the window, and therefore WPF does not update the errors and warnings.
            </remarks>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.CancelViewModel">
            <summary>
            Cancels the editing of the data.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.CancelAndCloseViewModel">
            <summary>
            Cancels the editing of the data, but also closes the view model in the same call.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.SaveViewModel">
            <summary>
            Saves the data.
            </summary>
            <returns>
            	<c>true</c> if successful; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.SaveAndCloseViewModel">
            <summary>
            Saves the data, but also closes the view model in the same call if the save succeeds.
            </summary>
            <returns>
            	<c>true</c> if successful; otherwise <c>false</c>.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.CloseViewModel(System.Nullable{System.Boolean})">
            <summary>
            Closes this instance. Always called after the <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.Cancel"/> of <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.Save"/> method.
            </summary>
            <param name="result">The result to pass to the view. This will, for example, be used as <c>DialogResult</c>.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetAttributes">
            <summary>
            Returns a collection of custom attributes for this instance of a component.
            </summary>
            <returns>
            An <see cref="T:System.ComponentModel.AttributeCollection"/> containing the attributes for this object.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetClassName">
            <summary>
            Returns the class name of this instance of a component.
            </summary>
            <returns>
            The class name of the object, or null if the class does not have a name.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetComponentName">
            <summary>
            Returns the name of this instance of a component.
            </summary>
            <returns>
            The name of the object, or null if the object does not have a name.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetConverter">
            <summary>
            Returns a type converter for this instance of a component.
            </summary>
            <returns>
            A <see cref="T:System.ComponentModel.TypeConverter"/> that is the converter for this object, or null if there is no <see cref="T:System.ComponentModel.TypeConverter"/> for this object.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetDefaultEvent">
            <summary>
            Returns the default event for this instance of a component.
            </summary>
            <returns>
            An <see cref="T:System.ComponentModel.EventDescriptor"/> that represents the default event for this object, or null if this object does not have events.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetDefaultProperty">
            <summary>
            Returns the default property for this instance of a component.
            </summary>
            <returns>
            A <see cref="T:System.ComponentModel.PropertyDescriptor"/> that represents the default property for this object, or null if this object does not have properties.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetEditor(System.Type)">
            <summary>
            Returns an editor of the specified type for this instance of a component.
            </summary>
            <param name="editorBaseType">A <see cref="T:System.Type"/> that represents the editor for this object.</param>
            <returns>
            An <see cref="T:System.Object"/> of the specified type that is the editor for this object, or null if the editor cannot be found.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetEvents(System.Attribute[])">
            <summary>
            Returns the events for this instance of a component using the specified attribute array as a filter.
            </summary>
            <param name="attributes">An array of type <see cref="T:System.Attribute"/> that is used as a filter.</param>
            <returns>
            An <see cref="T:System.ComponentModel.EventDescriptorCollection"/> that represents the filtered events for this component instance.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetEvents">
            <summary>
            Returns the events for this instance of a component.
            </summary>
            <returns>
            An <see cref="T:System.ComponentModel.EventDescriptorCollection"/> that represents the events for this component instance.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetProperties(System.Attribute[])">
            <summary>
            Returns the properties for this instance of a component using the attribute array as a filter.
            </summary>
            <param name="attributes">An array of type <see cref="T:System.Attribute"/> that is used as a filter.</param>
            <returns>
            A <see cref="T:System.ComponentModel.PropertyDescriptorCollection"/> that represents the filtered properties for this component instance.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetProperties">
            <summary>
            Returns the properties for this instance of a component.
            </summary>
            <returns>
            A <see cref="T:System.ComponentModel.PropertyDescriptorCollection"/> that represents the properties for this component instance.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.System#ComponentModel#ICustomTypeDescriptor#GetPropertyOwner(System.ComponentModel.PropertyDescriptor)">
            <summary>
            Returns an object that contains the property described by the specified property descriptor.
            </summary>
            <param name="pd">A <see cref="T:System.ComponentModel.PropertyDescriptor"/> that represents the property whose owner is to be found.</param>
            <returns>
            An <see cref="T:System.Object"/> that represents the owner of the specified property.
            </returns>
        </member>
        <member name="E:Catel.MVVM.ViewModelBaseWithoutServices.CommandExecuted">
            <summary>
            Occurs when a command on the view model has been executed.
            </summary>
        </member>
        <member name="E:Catel.MVVM.ViewModelBaseWithoutServices.Saving">
            <summary>
            Occurs when the view model is about the be saved.
            </summary>
        </member>
        <member name="E:Catel.MVVM.ViewModelBaseWithoutServices.Saved">
            <summary>
            Occurs when the view model is saved successfully.
            </summary>
        </member>
        <member name="E:Catel.MVVM.ViewModelBaseWithoutServices.Canceling">
            <summary>
            Occurs when the view model is about to be canceled.
            </summary>
        </member>
        <member name="E:Catel.MVVM.ViewModelBaseWithoutServices.Canceled">
            <summary>
            Occurrs when the view model is canceled.
            </summary>
        </member>
        <member name="E:Catel.MVVM.ViewModelBaseWithoutServices.Closed">
            <summary>
            Occurs when the view model is being closed.
            </summary>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelConstructionTime">
            <summary>
            Gets the view model construction time.
            </summary>
            <value>The view model construction time.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.Dispatcher">
            <summary>
            Gets the dispatcher.
            </summary>
            <value>The dispatcher.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ParentViewModel">
            <summary>
            Gets the parent view model.
            </summary>
            <value>The parent view model.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.InvalidateCommandsOnPropertyChanged">
            <summary>
            Gets a value indicating whether the commands should automatically be invalidated on a property change.
            <para/>
            If this property is <c>false</c>, properties should either be invalidated by the .NET Framework or by a manual
            call to the <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.InvalidateCommands"/> method.
            </summary>
            <value>
            	<c>true</c> if the commands should automatically be invalidated on a property change; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.SupportIEditableObject">
            <summary>
            Gets or sets a value indicating whether models that implement <see cref="T:System.ComponentModel.IEditableObject"/> are supported correctly.
            </summary>
            <value>
            	<c>true</c> if models that implement <see cref="T:System.ComponentModel.IEditableObject"/> are supported correctly; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.IsClosed">
            <summary>
            Gets a value indicating whether this instance is closed. If a view model is closed, calling
            <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.CancelViewModel"/>, <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.SaveViewModel"/> or <see cref="M:Catel.MVVM.ViewModelBaseWithoutServices.CloseViewModel(System.Nullable{System.Boolean})"/>
            will have no effect.
            </summary>
            <value><c>true</c> if the view model is closed; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.Title">
            <summary>
            Gets the title of the view model.
            </summary>
            <value>The title.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.HasErrors">
            <summary>
            Gets a value indicating whether this object contains any field or business errors.
            </summary>
            <value>
            	<c>true</c> if this instance has errors; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.HasDirtyModel">
            <summary>
            Gets a value indicating whether this instance has a dirty model.
            </summary>
            <value>
            	<c>true</c> if this instance has a dirty model; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ServiceLocator">
            <summary>
            Gets the service locator that provides all the implementations for interfaces required by the view-model.
            </summary>
            <value>The service locator.</value>
        </member>
        <member name="T:Catel.MVVM.ViewModelBaseWithoutServices.ModelInfo">
            <summary>
            Class containing information about a specific model decorated with the <see cref="T:Catel.MVVM.ModelAttribute"/>.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelInfo.#ctor(System.String,Catel.MVVM.ModelAttribute)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices.ModelInfo"/> class.
            </summary>
            <param name="name">The name of the model property.</param>
            <param name="attribute">The attribute.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="name"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="attribute"/> is <c>null</c>.</exception>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ModelInfo.Name">
            <summary>
            Gets the name of the model property.
            </summary>
            <value>The name of the model property.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ModelInfo.SupportIEditableObject">
            <summary>
            Gets a value indicating whether the <see cref="T:System.ComponentModel.IEditableObject"/> interface should be used on the model if possible.
            </summary>
            <value>
            	<c>true</c> if the <see cref="T:System.ComponentModel.IEditableObject"/> interface should be used on the model if possible; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo">
            <summary>
            Class containing all the errors and warnings retrieved via <see cref="T:System.ComponentModel.INotifyDataErrorInfo"/> and
            <see cref="T:System.ComponentModel.INotifyDataWarningInfo"/>.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo._fieldErrors">
            <summary>
            Gets the field errors.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo._fieldWarnings">
            <summary>
            Gets the field warnings.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo._businessRuleErrors">
            <summary>
            Gets the business rule errors.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo._businessRuleWarnings">
            <summary>
            Gets the business rule warnings.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.#ctor(System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo"/> class.
            </summary>
            <param name="model">The model.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="model"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.OnModelErrorsChanged(System.Object,System.ComponentModel.DataErrorsChangedEventArgs)">
            <summary>
            Called when the errors on the model have changed.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.ComponentModel.DataErrorsChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.HandleBusinessRuleErrors(System.Collections.IEnumerable)">
            <summary>
            Handles the business rule errors.
            </summary>
            <param name="errors">The errors.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.HandleFieldErrors(System.String,System.Collections.IEnumerable)">
            <summary>
            Handles the field errors.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="errors">The errors.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.OnModelWarningsChanged(System.Object,System.ComponentModel.DataErrorsChangedEventArgs)">
            <summary>
            Called when the warnings on the model have changed.
            </summary>
            <param name="sender">The sender.</param>
            <param name="e">The <see cref="T:System.ComponentModel.DataErrorsChangedEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.HandleBusinessRuleWarnings(System.Collections.IEnumerable)">
            <summary>
            Handles the business rule warnings.
            </summary>
            <param name="warnings">The warnings.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.HandleFieldWarnings(System.String,System.Collections.IEnumerable)">
            <summary>
            Handles the field warnings.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <param name="warnings">The warnings.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.GetErrors(System.String)">
            <summary>
            Gets the errors for the specificied <paramref name="propertyName"/>.
            <para/>
            If the <paramref name="propertyName"/> is <c>null</c> or <see cref="F:System.String.Empty"/>,
            entity level errors will be returned.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <returns><see cref="T:System.Collections.Generic.IEnumerable`1"/> of errors.</returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.GetWarnings(System.String)">
            <summary>
            Gets the warnings for the specificied <paramref name="propertyName"/>.
            <para/>
            If the <paramref name="propertyName"/> is <c>null</c> or <see cref="F:System.String.Empty"/>,
            entity level warnings will be returned.
            </summary>
            <param name="propertyName">Name of the property.</param>
            <returns><see cref="T:System.Collections.Generic.IEnumerable`1"/> of warnings.</returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.CleanUp">
            <summary>
            Cleans up the information by unsubscribing from all events.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.GetValidationString(System.Object)">
            <summary>
            Gets the validation string from the object. This method supports the following types: <para />
            * string<para />
            * ValidationResult 
            </summary>
            <param name="obj">The object to convert to a string.</param>
            <returns>The string retrieved from the object or <c>null</c> if the object is not supported.</returns>
        </member>
        <member name="E:Catel.MVVM.ViewModelBaseWithoutServices.ModelErrorInfo.Updated">
            <summary>
            Raised when the errors or warnings are updated.
            </summary>
        </member>
        <member name="T:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping">
            <summary>
            Model value class to store the mapping of the View Model to a Model mapping.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping.#ctor(System.String,Catel.MVVM.ViewModelToModelAttribute)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping"/> class.
            </summary>
            <param name="viewModelProperty">The view model property.</param>
            <param name="attribute">The <see cref="T:Catel.MVVM.ViewModelToModelAttribute"/> that was used to define the mapping.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="viewModelProperty"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping.#ctor(System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping"/> class.
            </summary>
            <param name="viewModelProperty">The view model property.</param>
            <param name="modelProperty">The model property.</param>
            <param name="valueProperty">The value property.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="viewModelProperty"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping.#ctor(System.String,System.String,System.String,System.Boolean,System.String,System.String,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping"/> class.
            </summary>
            <param name="viewModelProperty">The view model property.</param>
            <param name="modelProperty">The model property.</param>
            <param name="valueProperty">The value property.</param>
            <param name="supportLLBLGen">if set to <c>true</c>, LLBLGen will be supported.</param>
            <param name="viewModelLLBLGenEntityProperty">The view model LLBLGen entity property.</param>
            <param name="modelLLBLGenEntityProperty">The model LLBLGen entity property.</param>
            <param name="nullValue">The null value.</param>
            <exception cref="T:System.ArgumentException">The <paramref name="viewModelProperty"/> is <c>null</c> or whitespace.</exception>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping.ViewModelProperty">
            <summary>
            Gets the property name of the mapping of the view model.
            </summary>
            <value>The model view property.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping.ModelProperty">
            <summary>
            Gets the property name of the the model.
            </summary>
            <value>The model.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping.ValueProperty">
            <summary>
            Gets the property property name of the property in the model.
            </summary>
            <value>The property.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping.SupportLLBLGen">
            <summary>
            Gets a value indicating whether to support LLBLGen.
            </summary>
            <value><c>true</c> if LLBLGen is supported; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping.ViewModelLLBLGenEntityProperty">
            <summary>
            Gets the LLBLGen property to set when the view model property changes.
            </summary>
            <value>The LLBLGen property.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping.ModelLLBLGenEntityProperty">
            <summary>
            Gets the LLBLGen property to set when the view model property changes.
            </summary>
            <value>The LLBLGen property.</value>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelToModelMapping.NullValue">
            <summary>
            Gets the value to set on the LLBLGen entity when the view model property is null.
            </summary>
            <value>The null value.</value>
        </member>
        <member name="T:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor">
            <summary>
            Class deriving from the <see cref="T:System.ComponentModel.PropertyDescriptor"/> to show how the properties dynamically
            created by the <see cref="T:Catel.MVVM.ExposeAttribute"/> should be treated.
            </summary>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor.#ctor(Catel.MVVM.ViewModelBaseWithoutServices,System.String,System.Type,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor"/> class.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="propertyName">Name of the property.</param>
            <param name="propertyType">Type of the property.</param>
            <param name="isReadOnly">if set to <c>true</c>, the property is read only.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="viewModel"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentException">The <paramref name="propertyName"/> is <c>null</c> or whitespace.</exception>
            <exception cref="T:System.ArgumentNullException">The <paramref name="propertyType"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor.CanResetValue(System.Object)">
            <summary>
            When overridden in a derived class, returns whether resetting an object changes its value.
            </summary>
            <param name="component">The component to test for reset capability.</param>
            <returns>
            true if resetting the component changes its value; otherwise, false.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor.ResetValue(System.Object)">
            <summary>
            When overridden in a derived class, resets the value for this property of the component to the default value.
            </summary>
            <param name="component">The component with the property value that is to be reset to the default value.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor.GetValue(System.Object)">
            <summary>
            When overridden in a derived class, gets the current value of the property on a component.
            </summary>
            <param name="component">The component with the property for which to retrieve the value.</param>
            <returns>
            The value of a property for a given component.
            </returns>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor.SetValue(System.Object,System.Object)">
            <summary>
            When overridden in a derived class, sets the value of the component to a different value.
            </summary>
            <param name="component">The component with the property value that is to be set.</param>
            <param name="value">The new value.</param>
        </member>
        <member name="M:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor.ShouldSerializeValue(System.Object)">
            <summary>
            When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted.
            </summary>
            <param name="component">The component with the property to be examined for persistence.</param>
            <returns>
            true if the property should be persisted; otherwise, false.
            </returns>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor.ComponentType">
            <summary>
            When overridden in a derived class, gets the type of the component this property is bound to.
            </summary>
            <value></value>
            <returns>
            A <see cref="T:System.Type"/> that represents the type of component this property is bound to. When the <see cref="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)"/> or <see cref="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)"/> methods are invoked, the object specified might be an instance of this type.
            </returns>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor.IsReadOnly">
            <summary>
            When overridden in a derived class, gets a value indicating whether this property is read-only.
            </summary>
            <value></value>
            <returns>true if the property is read-only; otherwise, false.
            </returns>
        </member>
        <member name="P:Catel.MVVM.ViewModelBaseWithoutServices.ViewModelPropertyDescriptor.PropertyType">
            <summary>
            When overridden in a derived class, gets the type of the property.
            </summary>
            <value></value>
            <returns>
            A <see cref="T:System.Type"/> that represents the type of the property.
            </returns>
        </member>
        <member name="T:Catel.MVVM.ViewModelBaseWithoutServices.ModelCleanUpMode">
            <summary>
            Available clean up models for a model.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices.ModelCleanUpMode.CancelEdit">
            <summary>
            Call <see cref="M:System.ComponentModel.IEditableObject.CancelEdit"/>.
            </summary>
        </member>
        <member name="F:Catel.MVVM.ViewModelBaseWithoutServices.ModelCleanUpMode.EndEdit">
            <summary>
            Call <see cref="M:System.ComponentModel.IEditableObject.EndEdit"/>.
            </summary>
        </member>
        <member name="T:Catel.MVVM.Auditing.AuditingManager">
            <summary>
            Handles the auditing for MVVM inside Catel.
            <para/>
            Use this manager to register custom auditors.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Auditing.AuditingManager._instance">
            <summary>
            Instance of this singleton class.
            </summary>
        </member>
        <member name="F:Catel.MVVM.Auditing.AuditingManager._auditors">
            <summary>
            List of currently registered auditors.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.Clear">
            <summary>
            Clears all the current auditors.
            </summary>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.RegisterAuditor(Catel.MVVM.Auditing.IAuditor)">
            <summary>
            Registers a specific auditor.
            </summary>
            <param name="auditor">The auditor.</param>
            <exception cref="T:System.ArgumentNullException">The <paramref name="auditor"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.UnregisterAuditor(Catel.MVVM.Auditing.IAuditor)">
            <summary>
            Unregisters a specific auditor.
            <para/>
            If the auditor is not registered, nothing happens.
            </summary>
            <exception cref="T:System.ArgumentNullException">The <paramref name="auditor"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnViewModelCreating(System.Type)">
            <summary>
            Must be called when a specific view model type is being created.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnViewModelCreated(System.Type)">
            <summary>
            Must be called when a specific view model type is created.
            </summary>
            <param name="viewModelType">Type of the view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnPropertyChanging(Catel.MVVM.IViewModel,System.String,System.Object)">
            <summary>
            Must be called when the property of a view model is about to change.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="propertyName">Name of the property.</param>
            <param name="oldValue">The old property value.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnPropertyChanged(Catel.MVVM.IViewModel,System.String,System.Object)">
            <summary>
            Must be called when the property of a view model has just changed.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="propertyName">Name of the property.</param>
            <param name="newValue">The new property value.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnCommandExecuted(Catel.MVVM.IViewModel,System.String,Catel.MVVM.ICatelCommand,System.Object)">
            <summary>
            Must be called when a command of a view model has just been executed.
            </summary>
            <param name="viewModel">The view model.</param>
            <param name="commandName">Name of the command, which is the name of the command property.</param>
            <param name="command">The command that has been executed.</param>
            <param name="commandParameter">The command parameter.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnViewModelSaving(Catel.MVVM.IViewModel)">
            <summary>
            Must be called when a view model is about to be saved.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnViewModelSaved(Catel.MVVM.IViewModel)">
            <summary>
            Must be called when a view model has just been saved.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnViewModelCanceling(Catel.MVVM.IViewModel)">
            <summary>
            Must be called when a view model is about to be canceled.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnViewModelCanceled(Catel.MVVM.IViewModel)">
            <summary>
            Must be called when a view model has just been canceled.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnViewModelClosing(Catel.MVVM.IViewModel)">
            <summary>
            Must be called when a view model is about to be closed.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="M:Catel.MVVM.Auditing.AuditingManager.OnViewModelClosed(Catel.MVVM.IViewModel)">
            <summary>
            Must be called when a view model has just been closed.
            </summary>
            <param name="viewModel">The view model.</param>
        </member>
        <member name="P:Catel.MVVM.Auditing.AuditingManager.RegisteredAuditorsCount">
            <summary>
            Gets the number of registered auditors.
            </summary>
            <value>The number of registered auditors.</value>
        </member>
        <member name="T:Catel.IoC.WindsorHelper">
            <summary>
            Helper class for Castle Windsor IoC containers.
            </summary>
        </member>
        <member name="M:Catel.IoC.WindsorHelper.IsValidContainer(System.Object)">
            <summary>
            Determines whether the specified <paramref name="container"/> is a valid container.
            </summary>
            <param name="container">The container.</param>
            <returns>
            	<c>true</c> if the specified <paramref name="container"/> is a valid container; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
        </member>
        <member name="M:Catel.IoC.WindsorHelper.IsTypeRegistered(System.Object,System.Type)">
            <summary>
            Determines whether the specified <paramref name="interfaceType"/> is registered in the container.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <returns>
            	<c>true</c> if the specified <paramref name="interfaceType"/> is registered in the container; otherwise, <c>false</c>.
            </returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
            <remarks>
            Equals <c>container.Resolve(interfaceType) != null</c>.
            </remarks>
        </member>
        <member name="M:Catel.IoC.WindsorHelper.RegisterType(System.Object,System.Type,System.Type)">
            <summary>
            Registers the specified type for the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingType">Type of the implementing.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
            <remarks>
            Equals <c>container.Register(new IRegistration[] {new ComponentRegistration{interfaceType}().ImplementedBy{implementingType}() });</c>.
            </remarks>
        </member>
        <member name="M:Catel.IoC.WindsorHelper.RegisterInstance(System.Object,System.Type,System.Object)">
            <summary>
            Registers a specific instance for the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <param name="implementingInstance">The implementing instance.</param>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="implementingInstance"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
            <remarks>
            Equals <c>container.Register(new IRegistration[] {new ComponentRegistration{interfaceType}().Instance{implementingInstance}() });</c>.
            </remarks>
        </member>
        <member name="M:Catel.IoC.WindsorHelper.ResolveType(System.Object,System.Type)">
            <summary>
            Resolves an instance of the specified interface.
            </summary>
            <param name="container">The container.</param>
            <param name="interfaceType">Type of the interface.</param>
            <returns>The resolved instance.</returns>
            <exception cref="T:System.ArgumentNullException">If <paramref name="container"/> is <c>null</c>.</exception>
            <exception cref="T:System.ArgumentNullException">If <paramref name="interfaceType"/> is <c>null</c>.</exception>
            <exception cref="T:System.NotSupportedException">If <paramref name="container"/> is not a valid container.</exception>
            <exception cref="T:System.NotSupportedException">If the type is not registered in the container.</exception>
            <remarks>
            Equals <c>container.Resolve(interfaceType)</c>.
            </remarks>
        </member>
        <member name="M:Catel.IoC.WindsorHelper.GetWindsorType(System.String)">
            <summary>
            Gets the type in the windsor assembly.
            </summary>
            <param name="typeName">Name of the type.</param>
            <returns>The type.</returns>
        </member>
        <member name="P:Catel.IoC.WindsorHelper.Name">
            <summary>
            Gets the name of the helper.
            </summary>
            <value>The name.</value>
        </member>
        <member name="P:Catel.IoC.WindsorHelper.CanRegisterTypesWithoutInstantiating">
            <summary>
            Gets a value indicating whether this helper can register types without instantiating.
            <para/>
            If this value is <c>true</c>, the <see cref="M:Catel.IoC.WindsorHelper.RegisterType(System.Object,System.Type,System.Type)"/> can be used. Otherwise, only
            <see cref="M:Catel.IoC.WindsorHelper.RegisterInstance(System.Object,System.Type,System.Object)"/> can be used.
            </summary>
            <value>
            	<c>true</c> if this helper can register types without instantiating; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="T:Catel.Data.InvalidPropertyValueException">
            <summary>
            Exception when an the new value of a property of the <see cref="T:Catel.Data.DataObjectBase`1"/> class is invalid.
            </summary>
        </member>
        <member name="M:Catel.Data.InvalidPropertyValueException.#ctor(System.String,System.Type,System.Type)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.InvalidPropertyValueException"/> class.
            </summary>
            <param name="propertyName">Name of the property that caused the exception.</param>
            <param name="expectedType">Expected type for the property.</param>
            <param name="actualType">Actual object value type.</param>
        </member>
        <member name="P:Catel.Data.InvalidPropertyValueException.PropertyName">
            <summary>
            Gets or sets the property name.
            </summary>
            <value>The property name.</value>
        </member>
        <member name="P:Catel.Data.InvalidPropertyValueException.ExpectedType">
            <summary>
            Gets or sets the expected type.
            </summary>
            <value>The expected type.</value>
        </member>
        <member name="P:Catel.Data.InvalidPropertyValueException.ActualType">
            <summary>
            Gets or sets the actual type.
            </summary>
            <value>The actual type.</value>
        </member>
        <member name="T:Catel.Data.SerializationMode">
            <summary>
            Enumeration containing all the available serialization modes for the <see cref="T:Catel.Data.DataObjectBase`1"/> class.
            </summary>
        </member>
        <member name="F:Catel.Data.SerializationMode.Json">
            <summary>
            Serialize using a custom JSON serializer.
            </summary>
        </member>
        <member name="F:Catel.Data.SerializationMode.Binary">
            <summary>
            Serialize using the <see cref="T:System.Runtime.Serialization.Formatters.Binary.BinaryFormatter"/>.
            </summary>
        </member>
        <member name="F:Catel.Data.SerializationMode.Xml">
            <summary>
            Serialize using the <see cref="T:System.Runtime.Serialization.DataContractSerializer"/>.
            </summary>
        </member>
        <member name="T:Catel.Data.PropertyValue">
            <summary>
            Class holding a property value to serialize using the <see cref="T:Catel.Data.DataObjectBase"/>.
            </summary>
        </member>
        <member name="M:Catel.Data.PropertyValue.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.PropertyValue"/> class.
            </summary>
        </member>
        <member name="M:Catel.Data.PropertyValue.#ctor(System.Collections.Generic.KeyValuePair{System.String,System.Object})">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.PropertyValue"/> class.
            </summary>
            <param name="keyValuePair">The key value pair.</param>
        </member>
        <member name="M:Catel.Data.PropertyValue.#ctor(System.String,System.Object)">
            <summary>
            Initializes a new instance of the <see cref="T:Catel.Data.PropertyValue"/> class.
            </summary>
            <param name="name">The name of the property.</param>
            <param name="value">The value of the property.</param>
        </member>
        <member name="P:Catel.Data.PropertyValue.Name">
            <summary>
            Gets or sets the name of the property.
            </summary>
            <value>The name of the property.</value>
        </member>
        <member name="P:Catel.Data.PropertyValue.Value">
            <summary>
            Gets or sets the value of the property.
            </summary>
            <value>The value of the property.</value>
        </member>
    </members>
</doc>
